0
[self backgroundImages][[NSNumber numberWithInt:barMetrics]] = backgroundImage;

この警告を解決するにはどうすればよいですか?

ここに画像の説明を入力

4

2 に答える 2

2

警告の使用を取り除くには

[NSNumber numberWithInteger:metrics]

また

[NSNumber numberWithInt:(int)metrics]

metrics は NSInteger であり、numberWithInt は NSInteger ではなく int を受け入れるためです。

でも、あなたが本当に欲しいのは

[self backgroundImages][(int)metrics];
于 2013-12-11T11:40:26.130 に答える
1

NSNumber をインデックスとして配列に渡そうとしますが、代わりに int を渡す必要があります。

[self backgroundImages][It should be an int number] 

backgroundImages は配列だと思います。BarMetrics は、int として渡すことができない UIBarMetrics タイプです。

あなたはそのようなことをすることができます:

int i = -1;
if (barMetrics == UIBarMetricsDefault)
    i = 0;
if (barMetrics == UIBarMetricsLandscapePhone)
    i = 1;
// and so on....
[self backgroundImages][i] 
于 2013-12-11T11:39:29.517 に答える