菜鸟教程小白 发表于 2022-12-13 14:30:17

ios - 如何将委托(delegate)更改为 NSURLSession


                                            <p><p>我正在使用 <code>NSURLSession</code> 进行服务器通信。我有 2 节课分别用于下载和上传文件。我想使用 Single <code>NSURLSession</code> 进行下载和上传操作。在这种情况下,我无法在运行时使用 <code>setDelegate</code> 选项更改 <code>NSURLSession</code> 的委托(delegate),因为我正在使用委托(delegate)来验证数据。有没有办法在运行时更改 NSURLSession 的委托(delegate)对象?</p>

<p>谢谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>正如 Rob 所说,您不能更改 NSURLSession 的委托(delegate)。</p>

<p>您还有其他一些选择。</p>

<ul>
<li><p>您可以设置一个下载管理器对象(可能是单例)
管理 NSURLSession 并且是它的委托(delegate),并让它转发
向请求上传或下载的任何对象发送消息。</p></li>
<li><p>您可以创建多个 NSURSession 实例,一个用于上传
一个用于下载,每个都有一个单独的委托(delegate)。 (你说你
不想这样做,但您应该重新考虑该选项。</p></li>
<li><p>您可以使用传递完成处理程序的 <code>NSURLSession</code> 方法
而不是使用委托(delegate)..</p></li>
</ul></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何将委托(delegate)更改为 NSURLSession,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/41335127/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/41335127/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何将委托(delegate)更改为 NSURLSession