我正在尝试创建一个 .mm 类的弱引用......问题是文件,即使在代码方面它是一个 NSObject 类,它认为它是一个 int* 类型。如果我将文件更改回 .m 虽然它接受它作为 Obj-c 类但代码停止工作因为 cocos2d 要求文件是 .mm
//Game Logic is actually NSObject meaning obj-c class.
@interface GameLogic : NSObject
//However here I get the error like the file is type int*
@property (weak,nonatomic)GameLogic * __weak gameLogicWeak;
这些是我得到的 2 条消息。
Property with 'weak' attribute must be of object type
'__weak' only applies to Objective-C object or block pointer types; type here is 'int *'
任何人都知道我能做些什么来克服这个问题?我知道存在许多解决方案,其中之一就是不创建薄弱环节、使用委托或许多其他可能的解决方案。
但是这个解决方案是我想出的一个更清洁的解决方案,它使 ARC 在清理内存时派上用场。
有什么建议么?解决方法?解决方案?有人遇到过这个问题吗?
====
当 @class GameLogic 分别添加到 .h 和 #import 中时,我收到以下消息。此消息是在我使用弱引用的位置生成的。
Receiver type 'GameLogic' for instance message is a forward declaration