2009-07-02 7 views
10

私はKVCを使用していくつかのビューを反復しています。トラブルBOOLプロパティの設定を持つ:Cocoa/Obj-CでKVC用のBOOLをどのようにまとめますか?

[self setValue:YES forKeyPath:[NSString stringWithFormat:@"myView%d.userInteractionEnabled", n]]; 

私が手:は警告: ':forKeyPath:setValueの' は、引数1を渡し、キャストなし整数からポインタになります。

私が見つけることができる[NSValue valueWithBool:YES]などはありません。

どうすればよいですか?

答えて

29

-setValue:forKeyPath:の最初の引数にはオブジェクトが必要であるため、コンパイラは警告を生成しています。 YESはオブジェクトではありません。

答えはすぐそこに "NSValue.h" である:あなたが使用することもでき

[foo setValue:@YES forKey:@"bar"]

1

:Xcodeのの

[NSNumber numberWithBool: aBool]

以降のバージョンでは、リテラル構文を使用することができますリテラル式 @(YES)

詳細については llvm Objective-C Literals

+2

括弧はオプションです。 '@ YES'はうまく動作します –

関連する問題