2015-09-23 2 views
0

У меня есть структура, которая имеет некоторые переменные в swift. Например:Кэширование Массив структуры в swift

struct ABC { 
    //Some Variables 
} 

Я храню его в NSArray как:

var ABCArray : [ABC] = [] 

Этот массив имеет некоторые элементы моего ABC типа структуры.

Я пытаюсь кэшировать ABCArray с помощью:

NSKeyedArchiver.archivedDataWithRootObject(ABCArray) for "someKey" 

Это trowing мне ошибку говоря

Argument type [ABC] does not conform to expected type AnyObject

Как кэшировать этот массив структуры в стрижа?

+0

Лучший способ архивирования структуры или коллекции битовых полей состоит в том, чтобы архивировать поля независимо и выбирать подходящий тип метода кодирования/декодирования для каждого. https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Archiving/Articles/codingctypes.html#//apple_ref/doc/uid/20001294-BBCBDHBI –

ответ

0

Вы объявили массив как Swift Array, а не NSArray. Измените его на NSArray, и это должно избавиться от сообщения об ошибке.

+0

Не могли бы вы рассказать мне, как я могу изменить свой текущая декларация быстрого массива NSArray? – chandvoid

+0

var ABCArray = NSArray (массив: [something]) – MirekE

+0

Это показывает мне ошибку: «Невозможно создать одноэлементный кортеж с меткой элемента» – chandvoid

Смежные вопросы