Как мы можем создать наш собственный файл plist в проекте Xcode? - PullRequest
3 голосов
/ 02 мая 2011

Я хочу создать файл "UrlPaths.plist" в моем приложении, а также словарь с 4 или 5 объектами.Пожалуйста, помогите мне создать файл plist и словарь.А также читать данные из этого файла plist.

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

Ответы [ 4 ]

11 голосов
/ 02 мая 2011
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"plist.plist"]; 
NSFileManager *fileManager = [NSFileManager defaultManager];

NSMutableDictionary *data;

if ([fileManager fileExistsAtPath: path]) {
            data = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
}
else {
    // If the file doesn’t exist, create an empty dictionary
    data = [[NSMutableDictionary alloc] init];
}

//To insert the data into the plist
data[@"value"] = @(5);
[data writeToFile: path atomically:YES];
[data release];

//To retrieve the data from the plist
NSMutableDictionary *savedStock = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
int value1;
value1 = [savedStock[@"value"] intValue];
NSLog(@"%i",value1);
[savedStock release];
8 голосов
/ 19 апреля 2013

Если вы собираетесь создавать Plist без программного обеспечения, выполните следующие действия:

1. Right Click on Files in Left Pane and Select 'New File...' option.
2. Choose Resources from OS X tab.
3. An option for Property List is available.
4. Select an give an appropriate name.

Это будет добавлено в ваш проект.

enter image description here

3 голосов
/ 10 апреля 2013

Мы можем получить простое понимание о листинге, как показано ниже

enter image description here

Теперь вы можете прочитать эти данные, как показано ниже

NSString *path = [[NSBundle mainBundle] pathForResource:@"Priority" ofType:@"plist"];
NSDictionary *dictPri = [NSDictionary dictionaryWithContentsOfFile:path];//mm
NSMutableArray *arrMarkets=[[NSMutableArray alloc] initWithArray:[dictPri valueForKey:@"List"]];
NSMutableArray *arrForTable=[[NSMutableArray alloc] init];
NSMutableArray *arrForTable1=[[NSMutableArray alloc] init];
for (NSDictionary *dict in arrMarkets)
{
    NSString *strS1=nil;
    strS1= [NSString stringWithFormat:@"%@",[dict valueForKey:@"Description"] ];
    [arrForTable addObject:strS1];
}
NSLog(@"%@----------------- ",[arrForTable description]);
for (NSDictionary *dict in arrMarkets)
{
    NSString *strS2=nil;
    strS2= [NSString stringWithFormat:@"%@",[dict valueForKey:@"Name"] ];
    [arrForTable1 addObject:strS2];
}    
NSLog(@"%@----------------- ",[arrForTable1 description]);
1 голос
/ 02 мая 2011

создать новый файл plist -

NSArray *Arr = [NSArray arrayWithObjects:obj1,obj2,nil];
        NSData *data = [NSPropertyListSerialization dataFromPropertyList:Arr  format:NSPropertyListXMLFormat_v1_0  errorDescription:nil];

     [data writeToFile:PlistDataFilePath atomically:YES];

Считать данные из этого plist-файла -

NSData *data = [NSData dataWithContentsOfFile:PlistDataFilePath];
NSPropertyListFormat format;
NSArray *array = [NSPropertyListSerialization propertyListFromData:data mutabilityOption:NSPropertyListImmutable format:&format errorDescription:nil];

Вы должны прочитать этот замечательный текст на plist-файлах - http://www.edumobile.org/iphone/iphone-programming-tutorials/how-to-use-plist-in-iphone/

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