Как заполнить метод -(BOOL)writeToFile в @implementation

Во-первых, предположим, что я полный новичок, потому что я. И хотя это может показаться глупым, я понятия не имею, как это сделать.

Я снова и снова видел вызов -(BOOL)writeToFile:(NSString*)path atomically:(BOOL)flag; внутри моего интерфейса, чтобы я мог затем записывать данные в файл.

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

Прошу прощения, если это дублирующий вопрос, я искал неделю, и ничего не нашел, так что... да.

Так что я

@interface Objectname: NSObject

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

@implementation Objectname

-(BOOL)writeToFile:(NSString*)path atomically:(BOOL)flag{
//absolutely no idea what to put here???
}

Я буквально везде ищу, как напечатать NSMutableArray строк в файл, что книга, которую я использую (так как я студент), делает это простым, но примеры в книге не используют реализацию или интерфейсы, они просто напишите это в @autoreleasepool.

Должен ли я вызывать writetofile другим методом? Или только в @autoreleasepool?

я думаю, что я должен сделать

[NameofMutableArray writetofile:thePathICreatedwithFileHandle];

я хоть на правильном пути? Спасибо


person Ky Porres    schedule 13.10.2013    source источник


Ответы (2)


writeToFile уже существует и предоставляется вам ОС для некоторых классов (NSData, NSString, NSDictionary, NSArray). Если вы хотите иметь такой метод как часть интерфейса для вашего пользовательского объекта, то простой способ - сериализация вашего объекта, который переходит к такому типу, а затем использовать для него метод ОС (тогда есть несколько способов: я советую вам прочитать о протоколе NSCoding)

person Laurent Cerveau    schedule 13.10.2013

Если вы хотите представить свой пользовательский класс на диске и иметь возможность восстанавливать и т. д., 2 наиболее популярных варианта какао — это архиватор с ключом или Core Data, архиватор с ключом проще, но гораздо сложнее сериализовать отношения между объектами. вам решать, какой инструмент подходит для работы... это может быть даже проще, например, сохранение ваших значений в виде пар KV в словаре и сохранение словаря, однако это ограничивает вас сериализуемыми типами plist, строка, число, словарь, массив.

person Grady Player    schedule 14.10.2013