Как записать объект массива в plist в iphone? - PullRequest
1 голос
/ 03 февраля 2011

В приложении у меня есть plist:

root ---> dictionary
  cell ----> array
    item0 ---> string
    item1 ----> string

и т. Д.

В tableView, который содержит данные из этого plist & tableview navigation bar, содержится add button. Когда я нажимаю на него, он выдвигает другой вид, который содержит text field & a button. Я хочу сохранить текст текстового поля в списке в массиве последнего объекта, нажав на кнопку.

Всякий раз, когда я перезагружаю таблицу, данные постоянно сохраняются в plist.

Ответы [ 2 ]

3 голосов
/ 03 февраля 2011

вот код ....

-(void)dataFetching
{
NSMutableDictionary *categoryList = [[NSMutableDictionary alloc] initWithContentsOfFile:@"Give the file path"];
NSMutableArray *array =(NSMutableArray *) [categoryList valueForKey:@"write the array name here"];

/* hope u know how a table loads data from the array */

/*whenever add button is pressed on the table view cell, view would be shown with a textfield and a button, isn't it? */

/* by setting the delegate for textfield, using the textfieldDidEnterEditing: method capture the text from the textfield*/
// for example, 
NSString *testStr = @"test String"; //[textfield text];
//Now,

int lastItemIndex = [array count];
[array insertObject:testStr atIndex:lastItemIndex];
// and whenever you want you can save it on to the file like this

[categoryList writeToFile:@"Give the file path" atomically:YES];

[categoryList release];
}

надеюсь, это поможет .....

1 голос
/ 03 февраля 2011

Проверьте методы

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag

для NSDictionary и NSArray

, а также

+ (id)arrayWithContentsOfFile:(NSString *)aPath
+ (id)dictionaryWithContentsOfFile:(NSString *)path
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...