我有一个类,它创建多个异步连接,其中每个连接在委托方法中执行自己的逻辑。
因为委托本身就是类,所以如何在NSURLConnection委托方法中的逻辑中实现这种分离?
答案 0 :(得分:6)
我的投票是为您正在进行的每项操作创建一个不同的类。这可能听起来更多的工作,但你的代码将更加清洁,这可能会导致更少的错误。
2014年3月编辑 - 不要使用委托方法,使用块。
答案 1 :(得分:2)
听起来像是你需要更好地用面向对象来表示你的对象。
您应该有一个类来管理多个类,每个类都管理自己的URL连接。
答案 2 :(得分:1)
检查传入的NSURLConnection对照保存的值,看看哪个连接负责;或使代表不同的对象;或使回调以通用方式运行。
答案 3 :(得分:0)
我遇到了这样的问题。我有一个类做同样的事情。我通过将每个NSURLConnection对象存储在一个可变字典实例var中并以hash
为键来解决这个问题。然后我在类中添加了cancelAllConnections
方法,并在每个视图控制器的viewDidUnload
方法中调用它。该方法删除可变字典中的所有连接对象。然后我在NSURLConnection的connectionDidFinishLoading
中添加了一个检查,以检查可变字典中的哈希键。如果哈希值不存在,则表示连接已取消,并且不会对垃圾对象执行回调选择器。