Пример [NSDictionary getObjects: andKeys:]
Я не мог найти работающий пример метода[NSDictionary getObjects:andKeys:]
, Единственныйпример Я мог бы найти, не компилируется. Я предоставил здесь ошибки / предупреждения на случай, если кто-то их ищет.
Причина, по которой я был сбит с толку, заключается в том, что большинство методов NSDictionary возвращаютNSArray
, Однако вдокументация в нем говорится, что переменные 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];
}
Я предоставлю рабочее решение в качестве ответа на этот вопрос.