Приведение / преобразование словаря в 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]
Другие вопросы по тегам