plist文件的結構及操作:
//
// ParsePlist.h
// IOS150623_ObjectiveC_Plist文件1
//
// Created by PengJunlong on 15/6/23.
// Copyright (c) 2015年 Peng Junlong. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface ParsePlist : NSObject
- (void)parseFile:(NSDictionary *)dic;
@end
//
// ParsePlist.m
// IOS150623_ObjectiveC_Plist文件1
//
// Created by PengJunlong on 15/6/23.
// Copyright (c) 2015年 Peng Junlong. All rights reserved.
//
#import "ParsePlist.h"
@implementation ParsePlist
- (void)parseFile:(NSDictionary *)dic
{
NSDictionary *dic1 = [dic objectForKey:@"frames"];
char keyName[20];
char propertyName[20];
printf("輸入:");
scanf("%s%s",keyName,propertyName);
NSDictionary *subOfDic1 = [dic1 objectForKey:[NSString stringWithUTF8String:keyName]];
if (subOfDic1) {
NSString *valueStr = [subOfDic1 objectForKey:[NSString stringWithUTF8String:propertyName]];
NSLog(@"subOFDic1 = %@",valueStr);
}
}
@end
//
// main.m
// IOS150623_ObjectiveC_Plist文件1
//
// Created by PengJunlong on 15/6/23.
// Copyright (c) 2015年 Peng Junlong. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ParsePlist.h"
//***************************
//* plist文件 *
//***************************
//plist(properties list)文件的只有一個根節點,根只能是數組(NSArray)或者是字典(NSDictionary),不能爲其他的類型,plist文件裏可以直接進行添加刪除
//plist中存儲的對象:NSArray, NSDcitionary, NSDate, NSData, NSNumber, NSString, Boolean
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *array = [[NSArray alloc] initWithObjects:@"one",@"two",[NSNumber numberWithInt:23],[NSDate date], nil];
//在指定目錄下沒有對應的plist文件,會自動創建該文件
BOOL ret = [array writeToFile:@"/Users/qianfeng/Desktop/test/dic3/app.plist" atomically:YES];
if (ret) {
NSLog(@"寫入成功");
}
else
{
NSLog(@"寫入失敗");
}
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"one",@"2",@"two",[NSNumber numberWithInt:22],@"num",[@"IOS" dataUsingEncoding:NSUTF8StringEncoding],@"ios",[NSDate date],@"date",array,@"array", nil];
BOOL ret1 = [dictionary writeToFile:@"/Users/qianfeng/Desktop/test/dic3/array.plist" atomically:YES];
if (ret1) {
NSLog(@"寫入成功");
}
else
{
NSLog(@"寫入失敗");
}
//只能讀取plist文件中根節點是Dictionary
NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:@"/Users/qianfeng/Public/ExerciseProject/IOS150623_ObjectiveC_Plist文件1/apple.plist"];
NSLog(@"dic = %@",dic);
//只能讀取plist文件中根節點是Array
NSArray *arr = [NSArray arrayWithContentsOfFile:@"/Users/qianfeng/Desktop/test/dic3/app.plist"];
NSLog(@"array = %@",arr);
//--------------解析plist文件-------------
NSDictionary *dict1 = [NSDictionary dictionaryWithContentsOfFile:@"/Users/qianfeng/Public/ExerciseProject/IOS150623_ObjectiveC_Plist文件1/qfile.plist"];
ParsePlist *parse = [[ParsePlist alloc] init];
[parse parseFile:dict1];
}
return 0;
}