首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASIHttpRequest中的误差

ASIHttpRequest中的误差
EN

Stack Overflow用户
提问于 2011-12-25 04:28:40
回答 2查看 1.2K关注 0票数 2

现在,我参与了一个需要从服务器下载大量图像的项目。在网上推荐之后,我尝试了ASIHttpRequest。但是,当我将所有必要的类复制到我的项目中时,我在这些类中得到了30+错误。大多数错误都是关于使用保留、释放或自动发布的。因为我使用的是Xcode 4.2.1,所以禁止显式保留、释放和自动发布。但其他一些错误是相当荒谬的。

例如,在ASIDataCompressor.m类中,下面的方法应该返回NSData

代码语言:javascript
运行
复制
- (NSData *)compressBytes:(Bytef *)bytes length:(NSUInteger)length error:(NSError **)err shouldFinish:(BOOL)shouldFinish

但是我看到该方法的一部分返回否。

代码语言:javascript
运行
复制
if (status == Z_STREAM_END) {
        break;
    } else if (status != Z_OK) {
        if (err) {
            *err = [[self class] deflateErrorWithCode:status];
        }
        return NO;
    }

其他一些类也有类似的问题。

我的问题是:

  1. 我下载错包了吗?
  2. 如何让编译器忽略那些显式保留、释放和自动发布?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-25 04:40:48

"Xcode 4.2.1,显式保留、发布和自动发布是禁止的“,因为您在创建项目时启用了ARC。关闭ARC。

ASIDataCompressor.m方法在这里看起来很好。不知道你怎么搞错的。

由于您刚刚在项目中获得了ASIHTTP,我建议您切换到AFNetworking,因为请阅读以下内容:[请求释放]

票数 2
EN

Stack Overflow用户

发布于 2012-02-05 18:13:09

如前所述,在使用ARC时,您不能使用(不再需要)保留/释放/等。

如果您希望您的整个项目仍然有ARC,您可以禁用它为该文件。

当您将项目迁移到使用ARC时,将-fobjc-编译器标志设置为所有目标-C源文件的默认设置。您可以使用-fno弧形编译器标志来禁用特定类的ARC。

在Xcode中,转到target Build Phases tab >打开Compile Sources group以显示源文件列表>双击要为其设置标志的文件>在弹出面板中输入-fno-objc-,然后单击“已完成”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8628210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档