[英]Xcode 4 warning "Expression result unused” for NSURLConnection
我只是在尝试进行通常的数据传输。 我定义我的NSMutableURLRequest然后调用
[[NSURLConnection alloc] initWithRequest:request delegate:self];
Xcode 3以前可以这样做,但Xcode 4会警告我该行上的“ 表达式结果未使用 ”。 该请求确实有效,但我想找到一种摆脱警告的方法。
我想我可以存储在一个变量连接,但我并不真的需要它,我看不出它设置为点nil
下一行(虽然这将消除警告)
请注意:我不是100%知道它是Xcode 4还是启用了ARC。
当一个函数返回不需要的结果时,可以将其强制转换为void以消除编译器警告:
(void) [[NSURLConnection alloc] initWithRequest:request delegate:self];
我还没有使用过ARC,所以我不能说这是否是个好主意,在ARC之前,您需要将此指针结果保存在某个地方以便可以释放它。
progrmr的答案是正确的,但这是一种更干净的方法:
[NSURLConnection connectionWithRequest:request delegate:self];
即使您不将结果强制无效,这也不会引起警告。
有人应对该NSURLConnection
负责。 不需要存储连接,但是如果需要的话,它是更好的编码。 问题是,在创建我们的NSURLConnection
没有人拥有指向所创建实例的指针,事实并非如此。
让我们假设以下示例:
ClassA
实例正在创建NSURLConnection
实例 ClassA
实例正在释放并释放 NSURLConnection
仍然有效,并且将把NSURLConnection
激发到您的已释放实例。 为了解决该问题,您应该存储NSURLConnection
实例,并在释放ClassA
实例时释放该连接,这也会导致释放NSURLConnection
实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.