我目前正在设置此视图,以便在iPhone游戏中与另一个视图交换。当我使用这段代码时......
- (void)viewDidLoad {
menuViewController = [[menuViewController alloc] initWithNibName:@"SomeViewController" bundle:nil];
self.menuViewController = menuViewController;
[self.view insertSubview:menuViewController.view atIndex:0];
[menuViewController release];
}
... Xcode给了我一个警告“'SomeViewController'可能无法响应'-alloc'。我无法弄清楚如何摆脱这个警告......任何人都可以帮助我吗?
编辑:也许这会有所帮助。在我的.h文件中,我有这个......
@interface RabbitReflexViewController : UIViewController {
IBOutlet SomeViewController *menuViewController;
}
...以及其他一些代码。我的.m文件包含上面的内容。
答案 0 :(得分:8)
在[someViewController alloc]
中,someViewController应该是类名而不是实例。所以你可能想要[SomeViewController alloc]
。
答案 1 :(得分: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
答案 2 :(得分:0)
还有另一种方法来获得这个错误,当你得到它时很明显,但有点难以发现。我有正在使用的工作代码并且做了一个愚蠢的手指错误,得到了错误。这是:
MyClass* MyClass = [[MyClass alloc] init];
... used MyClass ...
显然我的意思是MyClass* myClass
。