我刚刚开始使用Objective-C,但已经完成了一堆C ++。它让我很难过,因为我一直在弄乱我的Objective-C语法。
我正在崩溃创建我的第一个Objective-C对象。我认为它可能与alloc函数的这个警告有关。
cWorld may not respond to '+alloc'
我已经看到很多针对'-alloc'的修复但没有针对+ alloc的修复。任何人都知道可能导致它的原因吗?
崩溃是在asm代码中,我没有得到太多信息。警告在worldContext.mm的行上,如下所示...... // * 警告在这里
这是来自worldContext.mm的片段以及所有的world.mm + world.h
worldContext.mm
#import "worldContext.h"
#import "scenemanager.h"
#import "matrix4.h"
#import "world.h"
@implementation cWorldContext
- (void)Initialize {
mSceneManager = new cSceneManager();
mWorldObj =[[cWorld alloc] init]; //***** WARNING IS HERE
[mWorldObj Initialize: mSceneManager];
}
World.h
#ifndef __WORLD
#define __WORLD
class cModelBase;
class cSceneManager;
@interface cWorld {
cSceneManager* mSceneManager;
cModelBase* mWorldModel;
}
- (void)Initialize: (cSceneManager*) sceneManager;
- (void)Update;
- (void)Shutdown;
@end
#endif
World.mm
#import "world.h"
@implementation cWorld
- (void)Initialize: (cSceneManager*) sceneManager {
mSceneManager = sceneManager;
}
- (void)Shutdown {
}
- (void)Update {
}
@end
答案 0 :(得分:8)
@interface cWorld {
应该是
@interface cWorld : NSObject {