2015-08-12 3 views
0

Я в настоящее время создает приложение, которое имеет следующую архитектуру:Swift: RSS подача, сохранение избранного пользователя локально

  • ViewController - это отображает список RSS пунктов (статей) на сводном уровне
  • DetailedViewController - это отображается RSS пункт (статья), выбранный более подробно
  • FeedModel - это разбирает RSS-канал и создает в статье объекты
  • статья - это специфика объекта статьи

Статьи являются новостями для спортивных игроков, и то, что я в настоящее время пытаюсь сделать, это позволить пользователю нажать кнопку на Детальном контролере, чтобы «сохранить» этого спортивного игрока, чтобы я мог реализовать «MyPlayersViewController», который покажет статьи, относящиеся только к игрокам, которых они сохранили. Моя проблема заключается в том, что, когда я сохраняю уникальный идентификатор игрока в «MyPlayersArray» в «DetailedViewController», я теряю способность хранить эту информацию, поэтому, когда пользователь возвращается к ViewController, а затем в другую статью о том же игроке, приложение забыло, какие игроки были сохранены.

Любые советы о том, как я должен пытаться реализовать это или что я должен прочитать, будут очень признательны.

ответ

0

Если вы хотите сохранять данные во многих пользовательских сеансов (пользователь может закрыть приложение и вернуться позже) использовать NSUserDefaults это сэкономит ваши playerID на диск

[[NSUserDefaults standardUserDefaults] setObject:<youArrayOfIDs> forKey:"myPlayerIDsArray"]; 
[[NSUserDefaults standardIserDefaults] synchronize]; 

Также проверьте основные данные, если вы хотите сохранить много данных на диск

Если вы хотите, чтобы предотвратить ваши объекты от потери при увольнении viewController объявим переменные в appDelegate

myDelegate=(AppDelegate*)[[UIApplication sharedApplication] delegate]; 
MyPlayersArray=myDelegate.myPlayerIDsArray 
//where myPlayerIDsArray is an object declared in your appDelegate which won't loose its data until app is active 

Также вы можете префикс static перед объявлением объекта, чтобы он всегда сохранялся в течение текущего жизненного цикла приложения.

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