菜鸟教程小白 发表于 2022-12-12 17:38:47

iphone - 带有 ASIHTTPRequest 的 ARC


                                            <p><p>我正在使用 iOS SDK 5 开发应用程序,并且正在尝试使用 ARC。但我需要使用 <code>ASIHTTPRequest</code> 并且它不支持 ARC。 Apple 的文档说使用 ARC 文件是可以的。所以我用 <code>-fno-objc-arc</code> 编译所有 <code>ASIHTTPRequest</code> 文件。我在使用 ARC 的类(class)中​​编写了以下代码:</p>

<pre><code>NSURL *url = [ initWithString:urlStr];
ASIHTTPRequest *req = [ initWithURL:url];
req.delegate = self;
;
</code></pre>

<p>但是在执行第一行之后,url 为 nil。有什么问题或如何在 ARC 项目中使用手动管理的代码?谢谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您是否已转义 URL 字符串中的所有非 ASCII 字符?如果没有,则不会创建 NSURL 实例,因为它不知道如何处理 URL 字符串中的非 ASCII 字符。你需要这样做:</p>

<pre><code>NSURL *url = ];
</code></pre>

<p>另外,为什么不使用 Apple 的辅助方法 <code>URLWithString:</code> 而不是创建您自己的 NSURL 实例,它会给您一个“自动发布”的 NSURL 实例,如下所示:</p>

<pre><code>NSURL *url = ];
ASIHTTPRequest *req = [ initWithURL:url];
req.delegate = self;
;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 带有 ASIHTTPRequest 的 ARC,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/7470308/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/7470308/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 带有 ASIHTTPRequest 的 ARC