質問

私は辞書の配列が含まれているのplistファイルを持っています。ここではそのうちの一つです。

フレッド辞書
名前フレッド
isMale [ボックスがチェックされている]。

だから今、私はplistファイルから読み込まれた辞書と私のPersonオブジェクトを初期化しています:

 -(id) initWithDictionary: (NSDictionary *) dictionary {
    if (self = [super init])
    self.name = [dictionary valueForKey: @"Name"];
    self.isMale = ????
  }
そうでない場合は、

はどのように私はボックスがPLISTファイルにチェックされている場合self.isMaleがYESに設定されているように、上記のコードを仕上げる、およびNOです。辞書にはキーisMaleがない場合、好ましくは、また、NOに設定します。

役に立ちましたか?

解決

BOOL値は、通常のNSNumberオブジェクトに包まれたOBJ-Cコンテナに格納されています。それはあなたのケースでそうであるならば、あなたが使用してブール値を取得することができます:

self.isMale = [[dictionary objectForKey:@"isMale"] boolValue];

他のヒント

ウラジミールは右、私はちょうどにチャイムに行くと、同様のplistが存在から、それらの値ことを確認するために良いと言う、通常はデフォルト値に設定されていない場合。

よさ

のような何かます:

id isMale = [dictionary valueForKey:@"isMale"];
self.isMale = isMale ? [isMale boolValue] : NO;

キー「isMale」の値が辞書に存在するかどうかを確認するためにどのチェック。それがない場合、それはそれからBOOLVALUEを取得します。そうでない場合、それはNOのデフォルトにself.isMaleを設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top