приведите пользовательский объект к NSData для использования с NSFileManager - PullRequest
1 голос
/ 14 июня 2011

У меня есть объект, который я написал в цели c.Это очень просто и просто действительно хранит несколько значений.

Мой объект

@interface MyObject : NSObject {

    NSString *filename;
    NSMutableData *somedata;

}

@property(nonatomic,copy)NSString *filename;
@property(nonatomic,retain)NSMutableData *somedata;


@end

Я хочу сохранить этот объект на диск с помощью NSFileManager.Я считаю, что NSFileManager принимает экземпляр NSData в качестве параметра содержимого при использовании createFileAtPath.Как я могу привести этот объект к соответствующему типу для использования createFileAtPath?

1 Ответ

1 голос
/ 14 июня 2011

все объекты взяты из NSObject. Здесь мы можем преобразовать пользовательский объект, полученный из NSObject, в NSData

Вам необходимо реализовать encodeWithCoder: в вашем пользовательском классе, сериализовав все его атрибуты, используя переданный в него NSCoder. Если его атрибуты включают какие-либо дополнительные пользовательские классы, им также понадобится encodeWithCoder: реализация.

...