不是重复,但警告信息是相同的。我读过这篇文章并没有帮助。
performSelector may cause a leak because its selector is unknown
我没有使用 performSelector ,但我得到了同样的警告,就像我一样。
Xcode 6.3中的警告消息是
PerformSelector may cause a leak because its selector is unknown
代码是
NSString *string=[NSString stringWithFormat:@"%tu", data.length];
NSLog(@" Expected :%lli",[response expectedContentLength]);
data.length应返回NSUInteger
expectedContentLength是 long long
当我将%tu更改为%zu时,我收到一条新的警告消息
Values of type 'NSUInteger' should not be used as format arguments; add an explicit cast to 'unsigned long' instead
答案 0 :(得分:1)
警告是关于NSUInteger
的大小变化,具体取决于CPU架构,可能只发生在版本构建期间(我理解为“未连接到Mac”),因为版本构建包含所有有效的CPU体系结构(32位和64位),而Debug构建仅包含用于调试的设备的体系结构。 (如果您没有更改默认的 Build Settings ),那就是这样。
当NSUInteger
更改大小时,假设它是unsigned long
并强制使用强制转换:
NSString *string=[NSString stringWithFormat:@"%lu", (unsigned long)data.length];