Я пытался разделить сообщения alloc и initWithRed..., но это, похоже, не работает

Извините, если это где-то спрашивают, но, как новичок, мне нужен очень конкретный ответ на мой вопрос. Где не так, исправления и предложения.

Я пишу те, что под приложением didFinishLaunchingWithOption:

UIColor *myBackgroundColor = [[UIColor alloc]initWithRed:.87 green:.77 blue:.56 alpha:.99];
[window setBackgroundColor:myBackgroundColor];

Это сработало и изменило цвет фона, а затем я пытаюсь разделить эти два сообщения.

UIColor *myBackgroundColor = [UIColor alloc];
[myBackgroundColor initWithRed:.87 green:.77 blue:.56 alpha:.99]
[window setBackgroundColor:myBackgroundColor];

Как мне написать код, чтобы он работал правильно? Мне понадобятся и причина, и исправления. Большое спасибо.

2 ответа

Решение

Вы не можете предположить, что alloc а также init has the same return value.

Следующее должно работать:

UIColor *myBackgroundColor = [UIColor alloc];
myBackgroundColor = [myBackgroundColor initWithRed:.87 green:.77 blue:.56 alpha:.99]
[window setBackgroundColor:myBackgroundColor];

I don't understand why you'd want to add the extra line though.

Используйте...

[UIColor colorWithRed:0.87 green:0.77 blue:0.56 alpha:0.99];
Другие вопросы по тегам