相关疑难解决方法(0)

在嵌套的NSDictionary中替换NSNull的出现次数

这个问题类似于这个问题,但这种方法只适用于字典的根目录下.

我想NSNull用空字符串替换任何出现的值,以便我可以将完整的字典保存到plist文件(如果我用NSNull添加它,文件将不会写入).

但是,我的词典里面嵌套了词典.像这样:

"dictKeyName" = {
    innerStrKeyName = "This is a string in a dictionary";
    innerNullKeyName = "<null>";
    innerDictKeyName = {
        "innerDictStrKeyName" = "This is a string in a Dictionary in another Dictionary";
        "innerDictNullKeyName" = "<null>";
    };
};
Run Code Online (Sandbox Code Playgroud)

如果我使用:

@interface NSDictionary (JRAdditions)
- (NSDictionary *) dictionaryByReplacingNullsWithStrings;
@end

@implementation NSDictionary (JRAdditions)

- (NSDictionary *) dictionaryByReplacingNullsWithStrings {

    const NSMutableDictionary *replaced = [NSMutableDictionary dictionaryWithDictionary:self];
    const id nul = [NSNull null];
    const NSString *blank = @"";

    for(NSString *key in replaced) …
Run Code Online (Sandbox Code Playgroud)

replace nsdictionary plist ios nsnull

9
推荐指数
2
解决办法
6441
查看次数

标签 统计

ios ×1

nsdictionary ×1

nsnull ×1

plist ×1

replace ×1