[self backgroundImages][[NSNumber numberWithInt:barMetrics]] = backgroundImage;
この警告を解決するにはどうすればよいですか?
[self backgroundImages][[NSNumber numberWithInt:barMetrics]] = backgroundImage;
この警告を解決するにはどうすればよいですか?
警告の使用を取り除くには
[NSNumber numberWithInteger:metrics]
また
[NSNumber numberWithInt:(int)metrics]
metrics は NSInteger であり、numberWithInt は NSInteger ではなく int を受け入れるためです。
でも、あなたが本当に欲しいのは
[self backgroundImages][(int)metrics];
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]