菜鸟教程小白 发表于 2022-12-12 17:06:24

iphone - 指针指向不同的对象 : (Unrecognized selector sent to instance)


                                            <p><p>当我尝试在我的对象 <strong>pageModel</strong></p> 上调用此函数时,我的应用程序出现了这个奇怪的崩溃

<pre><code> isEqualToString:@&#34;some text&#34;];
</code></pre>

<p>这是调试器转储</p>

<pre><code>-: unrecognized selector sent to instance 0x661de40
*** Terminating app due to uncaught exception &#39;NSInvalidArgumentException&#39;, reason: &#39;-: unrecognized selector sent to instance 0x661de40&#39;
</code></pre>

<p>在调试器上搞砸了,我发现了一些非常奇怪的行为</p>

<pre><code>(gdb) po pageModel
&lt;PXPage: 0x6622e20&gt;

(gdb) po
&lt;__NSArrayM 0x661de40&gt;(...

(gdb) po pageModel.pageTitle
&lt;__NSArrayM 0x661de40&gt;(...
</code></pre>

<p>它认为它是一个 MutableArray 但它不是。它应该是一个 NSString ......而其他时候它是一个 UIImage 和其他时候其他的东西等等。
有没有人知道这里发生了什么?</p>

<p>谢谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这是典型的双重释放错误。一个对象已被释放太多次,它占用的内存已分配给另一个对象,因此其他对象正在接收用于旧对象的消息。</p>

<p>您想在方案编辑器中将 <code>NSZombieEnabled</code> 环境变量设置为 <code>YES</code> 并在调试器中运行您的应用程序。 Google 和/或 stackoverflow 搜索可以帮助您找到更多相关信息。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 指针指向不同的对象 : (Unrecognized selector sent to instance),我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/7038343/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/7038343/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 指针指向不同的对象 : (Unrecognized selector sent to instance)