Objective c ';分配';和';弱';相互排斥

Objective c ';分配';和';弱';相互排斥,objective-c,ios4,twitter,Objective C,Ios4,Twitter,我正在尝试TwitPic使用GSTwitPicEngine类在Twitter上发布带有文本的图像,该类使用YAJLiOS 因此,我在我的项目中添加了YAJLiOS框架,我在YAJLiOS框架中的文件“YAJLParser.h”中得到了这个('assign'和'weak'是互斥的)错误。 在下面的行中显示错误- @property (assign, nonatomic) __weak id <YAJLParserDelegate> delegate; @property(赋值,非原子

我正在尝试TwitPic使用GSTwitPicEngine类在Twitter上发布带有文本的图像,该类使用YAJLiOS

因此,我在我的项目中添加了YAJLiOS框架,我在YAJLiOS框架中的文件“YAJLParser.h”中得到了这个('assign'和'weak'是互斥的)错误。 在下面的行中显示错误-

@property (assign, nonatomic) __weak id <YAJLParserDelegate> delegate;
@property(赋值,非原子)\u弱id委托;
当我删除_弱链接时,它变成了Apple Mach-O链接器(Id)错误


请帮助。如何处理此类错误。我不知道原因。

正如您可能已经知道的,分配不是一回事。。。从功能上讲,它们非常接近,但“弱”要复杂得多,并且相当聪明地取消了对已处理对象的引用,以避免崩溃(除其他外)

不管-怎么做?我最好的猜测是尝试退出ARC的向后兼容性遗留修复程序。。。将\u弱替换为\u不安全的\u未恢复的,然后查看情况

我真傻

试一试

@property(不安全的、非原子的)id委托;

也许你现在已经明白了, 无论如何,我是如何摆脱这个错误的:

@property (assign) __unsafe_unretained id<YAJLParserDelegate> delegate;   

是否应该将
\uuu-weak
关键字应用于类的实例变量,而不是getter/setter参数类型?感谢您的回答..但它会给出错误,即不安全的\u未恢复-错误-(Apple Mach-O链接器(Id)错误),“\u OBJC\u-class\uu-OARequestHeader”,引用自:GSTwitPicEngine.O中的OBJC class ref
@property (assign) __unsafe_unretained id<YAJLParserDelegate> delegate;   
__unsafe_unretained id<YAJLParserDelegate> delegate;