的示例我無法找到方法[NSDictionary getObjects:andKeys:]
的工作示例。我能找到的唯一的example,沒有編譯。我在這裏提供了錯誤/警告,以防有人在搜索它們。[NSDictionary getObjects:andKeys:]
我感到困惑的原因是因爲NSDictionary上的大多數方法返回NSArray
。但是,在documentation中,它聲明此方法的輸出變量作爲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 2010-09-03 00:59:55
不要在上面的代碼示例中發佈任何內容。 – 2011-03-24 19:29:26
爲了防止任何人想知道爲什麼你不需要發佈任何東西(這是在開發早期就殺了我的東西),這是因爲沒有任何東西被分配。沒有分配內存=沒有需要釋放的內存。明顯的,但如果我幾個月前看過這個,我不知道爲什麼你不會使用發佈:) – Elmo 2011-07-25 10:07:40