如何访问NSURLConnection Delegate属性

时间:2016-02-15 03:10:06

标签: properties nsurlconnection delegation nsurlconnectiondelegate

为什么无法执行以下操作:

id connectionDelegate = myConnection.delegate;
//myConnection is an instance of NSURLConnection

为什么这不可能,以及如何以其他方式访问该委托。对我来说似乎很尴尬,或者我在这里遗漏了什么?

1 个答案:

答案 0 :(得分:1)

NSURLConnection非常尴尬。你为什么还在使用它?除非您尝试保持与iOS 6或OS X v10.8及更早版本的向后兼容性,否则只需使用NSURLSession。

话虽如此,如果你必须继续使用该API以实现向后兼容性,那么你可以随时做我在这些情况下所做的事情:

  • 创建名为delegate和setDelegate的类别方法。
  • 使用Objective-C关联对象来存储和检索连接对象上的值。
  • 如果您无法控制创建NSURLConnection对象的代码,请调用NSURLConnection类的init方法来调用您的setter。否则,只需在创建NSURLConnection对象后立即手动调用setter。