Приведение / преобразование словаря в Swift
Как я могу конвертировать [NSObject : AnyObject]
-> [NSString: CKRecordValue]
в Свифте?
personEdited!.changedValues() as [(NSString, CKRecordValue)]
personEdit
в NSManagedObject
,
2 ответа
Решение
Вы можете преобразовать ключ / значения словаря в массив, содержащий кортежи, например:
var dict = [ "1" : 1, "2" : 2, "3" : 3 ]
var array = Array(Zip2(dict.keys, dict.values))
array
теперь имеет тип [ (String, Int) ]
,
Вы пытаетесь конвертировать словари ([NSObject : AnyObject]
) не массив кортежей ([(NSString, CKRecordValue)]
), попробуй это:
personEdited!.changedValues() as [NSString: CKRecordValue]