posts - 319, comments - 22, trackbacks - 0, articles - 11
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

iOS中plist的创建,数据写入与读取

Posted on 2013-02-04 13:49 RTY 阅读(7333) 评论(1)  编辑 收藏 引用 所属分类: Mac os

功能创建一个test.plist文件,textInput作为输入,displayLabel作为显示,有一个按钮来触发保持程序triggerStorage;

-(void)triggerStorage
{
    displayLabel.text = textInput.text;
    
    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
    NSString *path=[paths    objectAtIndex:0];  
    NSString *filename=[path stringByAppendingPathComponent:@"test.plist"];   //获取路径
    
    NSDictionary* dic2 = [NSDictionary dictionaryWithContentsOfFile:filename];  //读取数据
    NSLog(@"dic2 is:%@",dic2); 
    
    //创建一个dic,写到plist文件里
    NSDictionary* dic = [NSDictionary dictionaryWithObjectsAndKeys:displayLabel.text,@"IP",nil]; //写入数据
    [dic writeToFile:filename atomically:YES];   

}

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
    NSMutableArray *resultData; 
    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
    NSString *path=[paths objectAtIndex:0];
    NSLog(@"path = %@",path);   
    NSString *filename=[path stringByAppendingPathComponent:@"test.plist"]; 
  
    //读文件
    NSDictionary* dic2 = [NSDictionary dictionaryWithContentsOfFile:filename];
    NSLog(@"dic is:%@",dic2);    
    if(dic2 == nil)
    {
        //1. 创建一个plist文件 
        NSFileManager* fm = [NSFileManager defaultManager];
        [fm createFileAtPath:filename contents:nil attributes:nil];        
    }
    else
    {
        resultData=[dic2 objectForKey:@"IP"]; 
        if([dic2 count] > 0)
        {
            displayLabel.text = resultData;
        }
        else
        {
            displayLabel.text = @" ";
        }
    }
    self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]   //按钮的初始化及触发条件设置
                                               initWithTitle:@"保存" 
                                               style:UIBarButtonItemStylePlain 
                                               target:self 
                                               action:@selector(triggerStorage)] autorelease];    
    [super viewDidLoad];
}

------------------------------------------------------------------------------------------------------------------------------------------------------------

参考代码:

plist 文件读写
    //1. 创建一个plist文件
    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
    NSString *path=[paths    objectAtIndex:0];
    NSLog(@"path = %@",path);
    NSString *filename=[path stringByAppendingPathComponent:@"test.plist"];    
    NSFileManager* fm = [NSFileManager defaultManager];
    [fm createFileAtPath:filename contents:nil attributes:nil];        
    //NSDictionary* dic = [NSDictionary dictionaryWithContentsOfFile:plistPath];
    
    //创建一个dic,写到plist文件里
    NSDictionary* dic = [NSDictionary dictionaryWithObjectsAndKeys:@"sina",@"1",@"163",@"2",nil];
    [dic writeToFile:filename atomically:YES];
    
    //读文件
    NSDictionary* dic2 = [NSDictionary dictionaryWithContentsOfFile:filename];

    NSLog(@"dic is:%@",dic2);

Feedback

# re: iOS中plist的创建,数据写入与读取  回复  更多评论   

2015-11-26 16:23 by 泰国
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>http://www.zzdlinfo.com/app/iOS.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.unisiot.UIOT-SmartHome-Mobile</string>
<key>bundle-version</key>
<string>1.04.002.140524</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>智能家居手机版</string>
</dict>
</dict>
</array>
</dict>
</plist>

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理