Как сохранить данные в приложении для iOS?

Я разрабатываю приложение, в котором пользователь создает событие, которое имеет 3 поля:

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

Как именно яспасти" данные на iOS? Я знаю о NSUserDefaults, но я уверен, что это не тот путь для этого примера.

Что я сделал до сих пор:

Я создалЗаметка" класс с категорией, именем, событием.

Код для моей кнопки сохранения выглядит следующим образом:

- (IBAction)save:(id)sender {

    //creating a new "note" object
    Note *newNote = [[Note alloc]init];

    newNote.category = categoryField.text;
    newNote.name = nameField.text;
    newNote.event = eventField.text;

    // do whatever you do to fill the object with data

    NSData* data = [NSKeyedArchiver archivedDataWithRootObject:newNote];

    /*
     Now we create the path to the documents directory for your app
     */

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                         NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];

    /*
     Here we append a unique filename for this object, in this case, 'Note'
     */

    NSString* filePath = [documentsDirectory stringByAppendingString:@"Note"];

    /*
     Finally, let's write the data to our file
     */

    [data writeToFile:filePath atomically:YES];

    /*
     We're done!
     */
}

Это правильный способ сохранить событие? Как я могу получить то, что я написал сейчас?

Во-вторых, если я выполню этот код еще раз, я перезапишу данные или создаю новую запись?

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

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

Мой "Заметка" объект выглядит так:

@interface Note : NSObject  {
    NSString *category;
    NSString *name;
    NSString *event;
}

@property (nonatomic, copy) NSString *category;

@property (nonatomic, copy) NSString *name;

@property (nonatomic, copy) NSString *event;

@end

Ответы на вопрос(6)

Ваш ответ на вопрос