[NSDictionary getObjects:andKeys:]
의 작동 예제를 찾을 수 없습니다. 유일한 example 찾을 수 컴파일되지 않습니다. 누군가가 그들을 찾고있는 경우에 대비해 여기에 오류/경고를 제공했습니다.[NSDictionary getObjects : andKeys :]의 예
NSDictionary의 대부분의 메서드가 NSArray
을 반환하기 때문에 내가 혼란스러워하는 이유가 있습니다. 그러나 documentation에는이 메서드의 out 변수가 C 배열로 반환된다는 내용이 나와 있습니다.
다음은 링크 된 예를 따르는 경우에 당신이 얻을 수있는 오류 메시지/경고입니다
NSDictionary *myDictionary = ...;
id objects[]; // Error: Array size missing in 'objects'
id keys[]; // Error: Array size missing in 'keys'
[myDictionary getObjects:&objects andKeys:&keys];
for (int i = 0; i < count; i++) {
id obj = objects[i];
id key = keys[i];
}
.
NSDictionary *myDictionary = ...;
NSInteger count = [myDictionary count];
id objects[count];
id keys[count];
[myDictionary getObjects:&objects andKeys:&keys]; // Warning: Passing argument 1 of 'getObjects:andKeys:' from incompatible pointer type.
for (int i = 0; i < count; i++) {
id obj = objects[i];
id key = keys[i];
}
이 질문에 대한 답으로 실무적인 해결책을 제공 할 것입니다.
제가 방출해야 할 obj와 열쇠? – Cesar
위의 코드 예제에서 아무 것도 해제하지 마십시오. –
아무데도 왜 당신이 아무 것도 공개 할 필요가 없다는 것을 궁금해하시는 분들을 위해 (이것은 초기 개발에서 나를 죽인 것이 었습니다) 그것은 alloc'd가 없었기 때문입니다. 할당 된 메모리가 없습니다 = 메모리를 해제해야합니다. 분명하지만 내가 몇 달 전에 이것을 본적이 있다면 왜 당신은 릴리스를 사용하지 않을 것인가 모르겠다 :) – Elmo