Вопрос

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

в моем xcode, где создать этот файл .plist и как получить к нему доступ???

Спасибо,

Это было полезно?

Решение

Вы бы поместили в папку resources.Затем используйте что-то вроде этого, чтобы загрузить его:

NSString *file = [[NSBundle mainBundle] pathForResource:@"TwitterUsers" ofType:@"plist"];
NSArray *Props = [[NSArray alloc] initWithContentsOfFile:file];

Где TwitterUsers - это имя вашего файла plist.

Если ваш файл plist содержит ключи и значения, вы бы сделали вторую строку NSDictionary вместо NSArray.

Другие советы

Чтобы сохранить файл plist в каталоге Documents, вам нужно будет включить файл plist в свое приложение, а затем при первом запуске скопировать его в каталог Documents.

Чтобы получить доступ к файлу в каталоге Documents:

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

// <Application Home>/Documents/foo.plist 
NSString *fooPath = 
[documentsPath stringByAppendingPathComponent:@“foo.plist”];

Я бы рекомендовал сохранить его в каталоге ресурсов в пакете приложений, но вы можете просто перетащить его в окно проекта.В NSBundle способ pathForResource:ofType: должен дать вам путь, по которому вы можете пройти к NSDictionary's dictionaryWithContentsOfFile:.

Редактировать: Извините, полный пример кода (думал, я уже скопировал и вставил):

NSString *path = [[NSBundle mainBundle] pathForResource:@"MyConfig" ofType:@"plist"];
NSDictionary *myConfig = [NSDictionary dictionaryWithContentsOfFile:path];

Редактировать Мне только что пришло в голову, что "конфигурационные переменные" могут быть не неизменяемыми.Если это так, не обращайте внимания на этот ответ.

Я бы порекомендовал вам использовать Ошибки NSUserDefaults для хранения переменных конфигурации вместо развертывания вашей собственной системы.

Если вы изменяете .plist внутри вашего пакета приложений вы рискуете сделать подпись на пакете недействительной, что плохо кончится.

Если вам необходимо сохранить и изменить свой собственный .plist, храните его в Documents каталог, в котором также должно храниться все, что ваше приложение загружает, создает и т.д.Видишь Управление файлами и данными и NSFileManager ( Менеджер файлов ).

По умолчанию, если вы включили plist в проект где угодно (в разделе Ресурсы или иным образом) XCode скопирует его в пакет приложений, где вы сможете получить к нему доступ с помощью вышеупомянутого pathForResource звони.Просто подумал, что стоит упомянуть об этом, поскольку вы, возможно, предпочтете группировку, в которой у вас ее нет в ресурсах...

вы можете найти пример книги sqlite .....файл данных silte был сохранен в каталоге "Document" ....вы будете знать процесс

  1. Почему это сделало бы пакет недействительным?

  2. Будет ли этот файл plist в папке resources скопирован в iTunes, как файлы в папке documents?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top