1
我試圖用dictionaryWithDictionary
方法創建一個NSDictionary
。但是,我的第一個NSDictionary
A可能有一些空值的鍵。我如何創建沒有任何鍵值爲空的B?我正在做所有這些工作,用於填充UITableView
,其中的行對應於NSDictionary
中的每個非空密鑰。複製一個沒有空值的NSDictionary?
我試圖用dictionaryWithDictionary
方法創建一個NSDictionary
。但是,我的第一個NSDictionary
A可能有一些空值的鍵。我如何創建沒有任何鍵值爲空的B?我正在做所有這些工作,用於填充UITableView
,其中的行對應於NSDictionary
中的每個非空密鑰。複製一個沒有空值的NSDictionary?
怎麼是這樣的:
NSMutableDictionary *destDictionary = [NSMutableDictionary dictionaryWithCapacity:[sourceDictionary count]];
NSEnumerator *keyEnumerator = [[sourceDictionary allKeys] objectEnumerator];
id key;
while (key = [keyEnumerator nextObject])
{
NSString *object = [sourceDictionary objectForKey:key];
if ([object length] == 0)
continue;
[destDictionary setObject:object forKey:key];
}
你也可以使用塊試驗,篩選出其值的長度並創建你的新詞典的按鍵。
NSSet *keySet = [dictionary keysOfEntriesPassingTest:
^(id key, id obj, BOOL *stop) {
return (BOOL)[obj length];
}];
NSArray *keys = [keySet allObjects];
NSArray *nonEmptyObjects = [dictionary objectsForKeys:keys notFoundMarker:@""];
NSDictionary *newDict = [NSDictionary dictionaryWithObjects:nonEmptyObjects
forKeys:keys];
在這種情況下,什麼是「空值」? NSDictionary不允許使用`nil`值。 – 2010-12-03 23:33:06
變量爲空的鍵。 – 2010-12-03 23:37:02