それはあなたが必要なものを私のために非常に明確ではないですが。
キーの値がNULLでないかどうかを確認する必要がある場合は、これを行うことができます:あなたはいくつかのセットを持っている場合は
for(NSString* key in dict) {
if(![dict valueForKey: key]) {
[dict setValue: @"" forKey: key];
}
}
を必要なキーは、あなたは静的配列を作成し、これを行うことができます。
:あなたはあなたのデータをチェックする方法に続いて
static NSArray* req_keys = [[NSArray alloc] initWithObjects: @"k1", @"k2", @"k3", @"k4", nil];
を私がやったことはNSDictionaryの
@interface NSDictionary (CategoryName)
/**
* Returns the object for the given key, if it is in the dictionary, else nil.
* This is useful when using SBJSON, as that will return [NSNull null] if the value was 'null' in the parsed JSON.
* @param The key to use
* @return The object or, if the object was not set in the dictionary or was NSNull, nil
*/
- (id)objectOrNilForKey:(id)aKey;
@end
@implementation NSDictionary (CategoryName)
- (id)objectOrNilForKey:(id)aKey {
id object = [self objectForKey:aKey];
return [object isEqual:[NSNull null]] ? nil : object;
}
@end
上のカテゴリを置いている
NSMutableSet* s = [NSMutableSet setWithArray: req_keys];
NSSet* s2 = [NSSet setWithArray: [d allKeys]];
[s minusSet: s2];
if(s.count) {
NSString* err_str = @"Error. These fields are empty: ";
for(NSString* field in s) {
err_str = [err_str stringByAppendingFormat: @"%@ ", field];
}
NSLog(@"%@", err_str);
}
出典
2012-04-10 09:35:42
Max
偉大なトリック。完璧なソリューション。ありがとう。カテゴリの大きな使用。 – Prazi