Я пытаюсь сохранить кортеж в NSUserDefaults. Мой кортеж внизу.Swift: невозможно сохранить кортежи с большим количеством записей в NSUserDefaults
var primaryNumberAndName: [(name:String , number: String, numberType: String, imageProfile: UIImage, imageLogo: UIImage)] = []
Добавление ДАННЫЕ кортежам
for (var i : Int = 0; i < primaryNameArr.count; i++)
{
primaryNumberAndName.append(name: primaryNameArr[i] as! String,
number: primaryNumberArr[i] as! String,
numberType: primaryNumberTypeArr[i] as! String,
imageProfile: UIImage(named: "profile_man.png")!,
imageLogo: UIImage(named: "Our_Logo.png")!)
}
Coding:
var dictOfObjectsData = NSKeyedArchiver.archivedDataWithRootObject(primaryNumberAndName)
myUserDefaul.setObject(dictOfObjectsData, forKey: "PrimaryContacts")
Ошибка:
Cannot invoke 'archivedDataWithRootObject' with an argument list of type {[(name:String , number: String, numberType: String, imageProfile: UIImage, imageLogo: UIImage)]}
Просьба посоветуйте мне, как это решить.
Перед его хранением необходимо преобразовать его в NSData. Вам нужен класс, а не кортеж –
, как это решить? PLS руководство меня. –
http://stackoverflow.com/questions/33192675/using-nsuserdefaults-on-arrays –