ios - 为什么只有当我的 iPhone 未连接到我的 Mac 时才会出现警告?
<p><p>不是重复的,但警告信息是相同的。我读了这篇文章,但没有帮助。</p>
<p> <a href="https://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown" rel="noreferrer noopener nofollow">performSelector may cause a leak because its selector is unknown</a> </p>
<p>我没有使用 <strong>performSelector</strong>,但我收到的警告与使用时相同。</p>
<p>Xcode 6.3 中的警告信息是 </p>
<pre><code> PerformSelector may cause a leak because its selector is unknown
</code></pre>
<p>代码是</p>
<pre><code>NSString *string=;
NSLog(@" Expected :%lli",);
</code></pre>
<p>data.length 应该返回一个 NSUInteger</p>
<p>expectedContentLength 是 <strong>long long</strong></p>
<p>当我将 %tu 更改为 %zu 时,我收到一条新的警告消息</p>
<pre><code> Values of type 'NSUInteger' should not be used as format arguments; add an explicit cast to 'unsigned long' instead
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>警告是关于 <code>NSUInteger</code> 大小的变化取决于 CPU 架构,并且可能仅在发布版本期间发生(我理解为“未连接到 Mac”),因为发布版本包含所有有效的 CPU 架构(32 位和 64 位),而调试版本仅包含用于调试的设备的架构。 (如果您没有更改默认设置的<em>build设置</em>,这是正确的)。</p>
<p>当 <code>NSUInteger</code> 改变大小时,假设它是 <code>unsigned long</code> 并使用强制转换:</p>
<pre><code>NSString *string=;
</code></pre></p>
<p style="font-size: 20px;">关于ios - 为什么只有当我的 iPhone 未连接到我的 Mac 时才会出现警告?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/31138931/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/31138931/
</a>
</p>
页:
[1]