중화사전망 - 서예자전 - 사전에서 키가 비어 있을 수 있습니까? 값이 비어 있을 수 있습니까?
사전에서 키가 비어 있을 수 있습니까? 값이 비어 있을 수 있습니까?
NSMutableDictionary 를 사용할 때 SetValueforKey 및 setObjectforKey 를 자주 사용합니다. 일반적으로 상호 작용할 수 있으며 코드에서 자주 사용됩니다. 1 setValue 의 정의를 살펴 보겠습니다. forkey: @ interface nsmutabledictionary (nskeyvaluecoding)/* send-set */-(void) setvalue: (id) valueforkey: (ns string *) 키; @end 는 위의 설명에 명시된 NSMutableDictionary 의 범주를 확장합니다. Setobject: forge 를 수신자에게 보내면 setobject: forge 메서드가 호출되고 값이 0 이 아닌 경우 removeObject:forKey2 메서드가 호출됩니다. SetObject 의 정의를 보십시오: forkey: @ interfacensmutabledictionary: nsdictionary-(void) removeobjectforkey: (id); -(void) set object: (id) anobjectforkey: (id) akey; @end 참고: setObject:forKey: 에서 키의 개체는 NSString 이 아닌 id 유형이지만 NSString 을 자주 사용합니다. 그것들 사이의 차이를 요약해 보세요. 1 의 값, setobject: forge: 0 이 될 수 없습니다. 그렇지 않으면 오류가 보고됩니다. Setvalue: forkey: 의 값은 nil 일 수 있지만 값이 nil 이면 removeObject:forKey 메소드 2 가 자동으로 호출되고 setvalue: forkey: 의 키 매개 변수는 NSString 유형만 될 수 있습니다. 그리고 setobject: fork: 어떤 유형이든 가능합니다. 참고: setobject: fork: 개체는 nil 을 저장할 수 없습니다. 1, [imagedictionary 개체: [ns null null】fork: 인덱스 번호와 구별해야 합니다 NSNullnull nil 이 아닌 빈 객체를 나타냅니다. 이 점에 주의해라. 2. 2 의 키 setObject:forKey: 가 NSNumber 객체인 경우 다음과 같습니다. [imagedictionaryobject: objworkey: [nsnumberwoberwithing 참고: 위에서 언급한 차이점은 사전에 대한 호출자입니다. SetObject:forKey: method 는 NSMutabledictionary 에만 있는 방법이고 setValue:forKey: method 는 KVC (키 값 인코딩) 의 주요 방법입니다. Setvalue: forge: method 호출자가 오브젝트인 경우: setvalue: forge: method 는 NSObject 에서 만들어집니다. 즉, 모든 oc 오브젝트에 이 메서드가 있으므로 모든 클래스에서 사용할 수 있습니다. 예를 들어 someclass * someobj = [[someclass alloc] init]; [someobjsetvalue: selfforkey: @ "delegate"]; 객체 someObj 는 위임 속성 값을 현재 클래스로 설정합니다. 물론 이 메서드를 호출하는 객체에는 delegate 속성이 있어야 합니다. 그렇지 않으면 아무런 효과가 없습니다.