создание новых файлов в iphone SDK - PullRequest
1 голос
/ 29 ноября 2010

Как я могу создавать новые файлы с помощью iPhone SDK?Я хотел бы указать имя файла и его расширение.

Ответы [ 3 ]

1 голос
/ 29 ноября 2010

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

Сначала сгенерируйте путь , в который вы сохраните свой файл:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                                     NSUserDomainMask, YES);   
NSString *documentsPath = [paths objectAtIndex:0];  
NSString *docPath = [documentsPath stringByAppendingPathComponent:@"myFileName.ext"];  

Сохранить с помощью:

[NSKeyedArchiver archiveRootObject:myObject toFile:docPath];

Получить с помощью:

myObject = [NSKeyedUnarchiver unarchiveObjectWithFile:docPath];

Наконец - ваш объект должен реализовать протокол NSCoding с двумя функциями, которые я перечислю ниже.

@interface MyObject : NSObject <NSCoding> {  
//other functions, variables, etc..   
    - (void) encodeWithCoder: (NSCoder *)coder;    
    - (id) initWithCoder: (NSCoder *)coder;  
}  

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

Удачи!

1 голос
/ 29 ноября 2010

В Xcode:

  1. Файл >> Новый файл ...
  2. Mac OSX >> Другое >> Пустой файл
  3. Назовите это как хотите.

во время выполнения:

[[NSFileManager defaultManager] createFileAtPath: <(NSString*)path>
                                        contents: <(NSData*)contents> 
                                      attributes: <(NSDictionary*)attributes>];
0 голосов
/ 29 ноября 2010

Вы пытаетесь создать файлы в файловой системе устройства iOS?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...