2012-08-25 4 views
1

Я делаю приложение, чтобы пользователь мог добавить много учетных записей и просмотреть его в UITableView, и я держу его имя через NSUserDefaults, и как только имя будет нажато в UITableView, он откроет другую страницу который имеет много полей данных для заполнения, которое выполнено.Загрузка различных данных пользователя

Например, когда пользователь нажимает на John или другое имя. Пользователь мог видеть свои данные. Моя проблема заключается в том, как я могу показать каждому пользователю свои данные? Также я могу сделать это через NSUserDefaults?

Это smiler к вкладке контактов в iPhone. Надеюсь, я смогу объяснить свою проблему.

Мой исходный код, я надеюсь, что это помогает Download Link

+0

Вы говорите, что один пользователь использует приложение и хранит данные о нескольких учетных записях, принадлежащих одному пользователю, или это таблица данных о многих разных пользователях? – DirectX

+0

@DirectX Это таблица данных о многих разных пользователях, введенных самим пользователем. Спасибо –

+0

Я также предполагаю, что пользователь должен видеть только свои данные? NSuserdefaults хорош для небольших данных, таких как предпочтения. Он может работать для этого, если каждый пользователь смотрит только на свои собственные данные. Использование coredata и т. Д. Может быть лучше для вас или, по крайней мере, использовать какой-то файл. – DirectX

ответ

1

Этот ответ не имеет общий ответ, не зная архитектуру и данные, которые вы показываете в таблице. Как правило, база данных в значительной степени решить эту проблему - хранить все данные в БД и получать предикат только нужные данные -

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name== %@", userName]; 
NSArray *orders = [Order findAllUsingPredicate:predicate]; // this is prototype method 

Но базу данных используются для большого количества данных, и если вы не хотите использовать БД или есть статические данные для отображения, а затем посмотрите на plists. Вы можете создать PLIST с узлами

-John 
    -Order1,Order2 
-Mike 
    -Order3,Order4,Order5 
... 

Затем прочтет этот файл и извлечь объект Джона, как это:

NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:pathToPlist]; 
johnsObjects = [dict objectForKey:@"John"]; 

Надежда, это будет полезно для вас

+0

Спасибо, бериллий. Я добавил исходный код, если вы хотите увидеть мою архитектуру. https://www.dropbox.com/s/41yxlr50jnovnl0/SavaDataIm-2.zip –

0

Используйте документ на основе приложения (UIDocument). Дайте каждому пользователю свой собственный документ. Переключение между документами при переключении пользователей. См. Document-Based App Programming Guide for iOS.

+0

Спасибо, Роб, я добавил свой исходный код. Надеюсь, он поможет в том, что мне нужно. –

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