2009-12-27 3 views
1

В настоящее время я настраиваю это представление для обмена с другим в iPhone-игре. Когда я использую этот код ...«SomeViewController» может не отвечать на «-alloc»

- (void)viewDidLoad { 
    menuViewController = [[menuViewController alloc] initWithNibName:@"SomeViewController" bundle:nil]; 
    self.menuViewController = menuViewController; 
    [self.view insertSubview:menuViewController.view atIndex:0]; 
    [menuViewController release]; 
} 

... Xcode дает мне предупреждение «„SomeViewController“может не реагировать на„-alloc“. Я не могу понять, как избавиться от этого предупреждения. ..can кто-нибудь мне помочь

Edit:.. Может быть, это поможет в моем файле .h, у меня есть это ...

@interface RabbitReflexViewController : UIViewController { 
    IBOutlet SomeViewController *menuViewController; 
} 

... вместе с другим кодом мой файл .m содержит то, что указано выше.

ответ

8

В [someViewController alloc], someViewController должен быть именем класса, а не экземпляром. Так что, вероятно, вы хотите [SomeViewController alloc].

+0

Когда я меняю свой код на ваше предложение, предупреждение уходит, но когда запускается iPhone Simulator, ничего не загружается вообще (вместо остальной части запуска приложения). Да, я новичок в программировании на iPhone. : P –

+0

Вы можете проверить консоль (Run | Console в Xcode), чтобы узнать, регистрируются ли какие-либо исключения или другие сообщения при запуске вашего приложения. Если по какой-либо причине ваше приложение выдает исключение, оно не запускается должным образом. –

2

Проблема заключается не столько в ошибке компилятора, сколько в том, что вы не знаете, что делаете. Я бы посоветовал вам поработать над учебным материалом на сайте разработчика Apple. Таким образом, вы можете перейти от базового к более продвинутому материалу. Может быть, начать здесь: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhone101/Articles/00_Introduction.html и http://developer.apple.com/iphone/library/referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/index.html#//apple_ref/doc/uid/TP40007594

+3

Это немного грубо. Этот сайт должен быть дружелюбным к новым программистам, а также к более опытным. –

+0

Да, я новичок в программировании ... вот почему я размещаю здесь помощь. Это не помогло мне понять, в чем проблема. Спасибо за ссылки, в любом случае, я их прочту. –

+0

Извините, если это звучит суровым. Говорить о том, как «исправить» эту ошибку не поможет, вы просто столкнетесь с какой-то другой проблемой, которую вы не можете найти за день или два. Вам должно быть гораздо легче начать с самого начала. Если вы, по крайней мере, изучите синтаксис Objective-C, у вас не будет почти столько же проблем с выяснением смысла сообщений об ошибках. –

0

Существует еще один способ, чтобы получить эту ошибку, очевидно, когда вы получите его, но немного трудно обнаружить. У меня был рабочий код, с которым я играл, и ошибся с глупыми пальцами, получив ошибку. Вот оно:

MyClass* MyClass = [[MyClass alloc] init]; 
... used MyClass ... 

Очевидно, что я имел в виду MyClass* myClass.

Смежные вопросы