【问题标题】:Cast / convert dictionary in Swift在 Swift 中转换/转换字典
【发布时间】:2015-03-06 11:00:05
【问题描述】:

如何在 Swift 中转换 [NSObject : AnyObject] -> [NSString: CKRecordValue]

personEdited!.changedValues() as [(NSString, CKRecordValue)]

personEditNSManagedObject 中。

【问题讨论】:

  • [NSObject : AnyObject] 不是一个数组,而是一个将AnyObject 值映射到NSObject 键的字典。另一方面,[(NSString, CKRecordValue)] 是一个元组数组。那么,哪种类型合适呢?

标签: ios swift core-data casting cloudkit


【解决方案1】:

您可以将字典的键/值转换为包含元组的数组,如下所示:

var dict = [ "1" : 1, "2" : 2, "3" : 3 ]
var array = Array(Zip2(dict.keys, dict.values))

array 现在具有 [ (String, Int) ] 类型。

【讨论】:

    【解决方案2】:

    您正在尝试转换字典 ([NSObject : AnyObject]) 而不是元组数组 ([(NSString, CKRecordValue)]),试试这个:

    personEdited!.changedValues() as [NSString: CKRecordValue]
    

    【讨论】:

      猜你喜欢
      • 2015-06-19
      • 2015-12-15
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      • 2015-08-25
      • 2018-11-22
      相关资源
      最近更新 更多