【发布时间】:2014-09-12 19:56:15
【问题描述】:
当我使用 ASIFormDataRequest 库将数据发布到服务器时出现问题,我已应用 Edit>Refactor>Convert to Obj-c Syntax
【问题讨论】:
-
第一件事,使用
AFNetworking代替ASIHTTPRequest。
标签: ios automatic-ref-counting asihttprequest
当我使用 ASIFormDataRequest 库将数据发布到服务器时出现问题,我已应用 Edit>Refactor>Convert to Obj-c Syntax
【问题讨论】:
AFNetworking 代替ASIHTTPRequest。
标签: ios automatic-ref-counting asihttprequest
首先,您可能应该有一个计划,尽快摆脱 ASIHTTPRequest。一直是discontinued since September 2011。如果您正在开始一个新项目,您现在应该切换到其他项目。我建议AFNetworking;有介绍here。
不过,如果您想维护一个较旧的项目,请继续阅读。
您在此处遇到的编译器错误是因为 ASIHTTPRequest 代码早于自动引用计数 (ARC),也于 2011 年推出。您可以阅读有关 the ARC transition in Apple's documentation 的信息。使用 ARC,编译器在适当的地方插入 retain、release 和 autorelease 的等效项。不允许在代码中调用这些函数。
确实有工具可以将 MRR 代码迁移到 ARC,但是没有必要改变这个库。只需在 ASIHTTPRequest 源的编译源构建阶段设置-fno-objc-arc。更多详情here.
但是,如果您真的要恢复 2011 年或更早的项目,那么您的整个项目可能还没有准备好 ARC。在这种情况下,您可以在整个目标设置中关闭 ARC;你可以找到更多关于如何做到这一点的细节here。
不过,如果您不想恢复旧项目,您可能应该只使用 AFNetworking。它很现代,很活跃,而且很有效。
【讨论】:
对于 ARC,retain、release 和 autorelease 由编译器插入到正确的位置。因此,这些消息对程序员是不可用的。
【讨论】: