10

私は KVC を使用して、いくつかのビューを繰り返し処理しています。BOOL プロパティの設定に問題がある場合:

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

警告: 'setValue:forKeyPath:' の引数 1 を渡すと、キャストなしで整数からポインターが作成されます。

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

何をすべきか?

4

2 に答える 2

29

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

答えは「NSValue.h」にあります。

[NSNumber numberWithBool: aBool]

Xcode の新しいバージョンでは、リテラル構文を使用できます。

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

于 2009-07-02T22:28:24.537 に答える
1

リテラル式 @(YES) も使用できます

詳細情報 llvm Objective-C リテラル

于 2013-08-20T12:19:55.260 に答える