2013-07-01 2 views
-3

У меня есть класс SPObject, который является обычным NSObject. В методе viewDidLoadViewController я создаю экземпляр SPObject. Существует также кнопка, которая, нажав, создает новый SPObject.Получить массив пользовательских NSObjects в ObjectiveC

Когда мое приложение переходит на задний план, я хочу сохранить эти SPObject s в базе данных. Таким образом, в методе applicationDidEnterBackground, я получаю экземпляр основного ViewController с помощью

ViewController * vc = (ViewController *)self.viewController;

Я хочу знать, как я могу получить список текущих SPObject с в следующей строке выше линии.

Если то, что я хотел был список UIViews, я мог бы просто сделать,

for(UIView * subView in vc.view.subviews) 

, который вернул бы хороший список.

Как я могу это сделать?

+0

Сохранены ли они в каком-либо свойстве или массиве где-нибудь в этом контроллере? –

+0

Для таких вещей вы можете использовать Core Data. –

+0

Вы хотите, чтобы эти объекты выживали при каждом выполнении приложения? –

ответ

1

Есть свойство массива ваших объектов:

@property (nonatomic, retain) NSMutableArray *objects; 

При создании нового объекта добавить его в массив:

[self.objects addObject:newSPobject]; 

При входе фона получить этот массив:

NSMutableArray *objects = vc.objects; 

Теперь вы можете делать с этим массивом все, что угодно

+0

Есть ли преимущество использования свойства для этого, а не только переменной экземпляра? Мне кажется, что использование свойства более сложно, если данные не нужны вне объекта. – mah

+0

вы все еще хотите использовать свойство, даже если вы не получаете доступ к нему за пределами класса, потому что его легче сохранить. –

+0

Значения экземпляра SPObject продолжают меняться, поэтому мне нужно получить список объектов только в конце при переходе на второй план. –

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