从具有BOOL值的plist问题中读取NSDictionary

xon*_*rlz 9 iphone objective-c nsdictionary ipad

所以我有以下方法:

- (void)readPlist
{

    NSString *path = [[NSBundle mainBundle] pathForResource:@"States" ofType:@"plist"];    
    self.data = [[NSMutableDictionary alloc] initWithContentsOfFile:path];

    BOOL value = (BOOL)[self.data valueForKey:@"Arizona"];
    NSLog(@"VALUE IS %d", value);

}
Run Code Online (Sandbox Code Playgroud)

它读取plist很好,它可以检测到它有7个键,但是当我尝试打印出来的值时,如果它是no,则给出32,如果是,则给出24.我究竟做错了什么?

Col*_*lin 23

valueForKey返回一个id.做这个:

NSNumber * n = [self.data valueForKey:@"Arizona"];
BOOL value = [n boolValue];
Run Code Online (Sandbox Code Playgroud)