菜鸟教程小白 发表于 2022-12-13 03:14:37

ios - CGFloat 有奇怪的默认值


                                            <p><p>我刚刚遇到了一个非常奇怪的错误,这可能是由于我对 Objective C 数据类型缺乏了解所致。
如果我这样做:</p>

<pre><code>CGFloat newY;
NSLog(@&#34;newY is %f&#34;, newY);
</code></pre>

<p>日志返回 <strong>0.0</strong>,虽然我期望为零,但这不是真正的问题。如果我现在将此应用程序导出到 iOS .ipa 并从那里安装应用程序,newY 会自动初始化为 <strong>185.000</strong>。
当应用程序是从 .ipa 安装而不是直接从 XCode 安装时,此值从何而来以及为什么不同?</p>

<p>我真的很感激任何关于正在发生的事情的见解,这对我来说没有任何意义。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>newY 未初始化为零,它是当时堆栈(存储 newY 的地方)上的任何内容。这在不同平台上可能不同,但也可能在执行之间发生变化。</p>

<p>您很可能会收到一条警告,告诉您在自己初始化之前使用 newY 是不安全的。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - CGFloat 有奇怪的默认值,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17920660/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17920660/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - CGFloat 有奇怪的默认值