_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
比較
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
BOOL isEqual = [[dictionary1 description] isEqualToString:[dictionary2 description]];
// 下記では、nil(無?)の場合、正常に比較されない
BOOL isEqual = [dictionary1 isEqualToDictionary:dictionary2];
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
高速列挙(キーによるソート有)
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
// 一旦NSDictionaryのキーを取得
NSArray *keys = [dictionary allKeys];
// sortedArrayUsingComparatorを使ってソート
keys = [keys sortedArrayUsingComparator:^(id o1, id o2) {
return [o1 compare:o2];
}];
// 順番通りに値を取得
for (id key in keys) {
[array addObject:[dictionary objectForKey:key]];
}
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
キーの存在を確認する("allKeys" を使う方法)
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
BOOL existed = [dictionary.allKeys containsObject:key];
但し、値として nil を設定したキーは allKeys に含まれない。
もともと NSDictionary が、値に nil が設定されたキーを消去するため。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
キーの存在を確認する("objectForKey:" を使用する方法)
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
BOOL existed = ([dictionary objectForKey:key] != nil);
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
全内容を取得する
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
// Key&Value
for (id key in dictionary){
NSLog(@"%@,%@", key, [dictionary valueForKey:key]);
}
// Vauleのみ
for (id value in [dictionary objectEnumerator]) {
NSLog(@"%@", value);
}
最終更新:2015年09月30日 10:39