【问题标题】:set NSArray protocol in swift快速设置 NSArray 协议
【发布时间】:2015-05-16 05:31:59
【问题描述】:

在 Objective-C 中,您可以执行 NSArray<ReviewC>* reviews; 之类的操作,以创建遵循协议 ReviewC 的变量 NSArray,我需要在 Swift 中执行相同操作,我需要使 NSArray 遵循协议,它必须是NSArray,不是数组。

我知道我可以在 Objective C 上做到这一点,并且我可以将 Objective C 与 Swift 混合使用,但如果可能的话,我更喜欢使用 Swift。

【问题讨论】:

  • 为什么有些东西是NSArray 并且还符合协议ReviewC?这是自定义子类还是什么?

标签: ios objective-c swift nsarray protocols


【解决方案1】:

我认为你可以这样做:

protocol ReviewC {
    // protocol definition goes here
}


var reviews : NSArray = NSArray() as? protocol<ReviewC> as! NSArray

【讨论】:

    【解决方案2】:

    您可以声明一个符合协议的变量,然后将 NSArray 分配给它,只要确保 NSArray 符合该协议即可。

    var object: MyProtocol = NSArray(array: someArray)
    

    在你的情况下:

    var object: ReviewC = NSArray(array: someArray)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 2023-01-12
      • 2017-02-22
      • 1970-01-01
      • 2016-11-29
      相关资源
      最近更新 更多