Zso*_*olt 84 iphone struct objective-c ios5 automatic-ref-counting
ARC禁止在结构或联合中使用Objective-C对象,尽管标记了文件-fno-objc-arc?为什么会这样?
我假设如果你标记它-fno-objc-arc你没有这个限制.
zei*_*sen 169
如果您收到此消息,请尝试__unsafe_unretained.如果结构中的对象没有保留,那么它是安全的.示例:如果对ARC使用OpenFeint,则类OFBragDelegateStrings在结构中说明此错误.
typedef struct OFBragDelegateStrings
{
NSString* prepopulatedText;
NSString* originalMessage;
} OFBragDelegateStrings;
Run Code Online (Sandbox Code Playgroud)
至
typedef struct OFBragDelegateStrings
{
__unsafe_unretained NSString* prepopulatedText;
__unsafe_unretained NSString* originalMessage;
} OFBragDelegateStrings;
Run Code Online (Sandbox Code Playgroud)
voi*_*ern 13
这是因为弧不能跟踪结构或联合中的对象(因为它们在那时是普通的C指针).
即使您标记了相关的文件/类, -fno-objc-arc
您仍然可以将由arc控制的对象作为参数传递给它,这很可能会导致内存泄漏.