これはBOOLのオブジェクト.通常は見えないところで働いている.
でも次のような状況では出くわしてしまう事もある.
たとえばIBでcheckboxを用意してbindingにてvalueをShere's User Defaultsに"isTrue"というキーでしまったとしよう.
これを取り出すには
NSUserDefaults *ud= [[NSUserDefaultsController sharedUserDefaultsController] defaults];
id choice= [ud valueForKey:@"isTrue"];
とやるとchoiceに入る.
ところがこれBOOLではなくNSCFBooleanで,そのままではif文等で評価式として使えない.
変換するには
BOOL b= CFBooleanGetValue(choice);
としてあげる必要がある.
もっともNSUserDefaultsにはboolForKey:というのがあるので
BOOL b= [ud boolForKey:@"isTrue"];
とできるんだけどね.実はw.
設定するときはsetBool:forKey:を使ってねw.
0 件のコメント:
コメントを投稿