IOS 新建立的plist可以读 但无法对其进行写

鑫鑫 发布于 2012/09/20 20:43
阅读 1K+
收藏 0
iOS

新建立了个.plist文件,可以从上面读信息,但写信息时无法完成,过程中都没有异常 ,数据读取也正确, 希望高手解答

.plist文件中的信息

 

下面是实现写的函数

-(void) sendInfo:(int)flag row:(int)row{

    if (flag == 0 || flag == 1) {

    

        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

        NSString *path = [paths objectAtIndex:0];    

        NSLog(@"path = %@", path);  

        NSString *filename = [path stringByAppendingPathComponent:@"InfoList.plist"];

        

        NSLog(@"filename = %@", filename);

        

        NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:filename];  

        NSString *flagkey;

        if(flag == 0)

        {

            flagkey = [[NSString alloc] initWithString:@"0"];

        }

        if (flag == 1) {

            flagkey = [[NSString alloc] initWithString:@"1"];

        }

 

        NSString *optionkey = [[NSString alloc] initWithFormat:@"%i", row+1]; 

        [[[[data objectForKey:@"light"] objectForKey:optionkey] objectForKey:@"flag"] setObject:flagkey forKey:modeWork];

        NSLog(@"%@", [[[[data objectForKey:@"light"] objectForKey:optionkey] objectForKey:@"flag"] objectForKey:@"1"]);

        NSLog(@"%@", [[[data objectForKey:@"light"] objectForKey:optionkey] objectForKey:@"name"]);

        

        //NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

        //NSString *plistPath1 = [paths objectAtIndex:0];

        //NSString *filename = [plistPath1 stringByAppendingPathComponent:plistPath];

        [data writeToFile:filename atomically:YES];

    

    }

     

     

    //0为关  从第0行开始

    NSLog(@"flag:%i, row:%i, mode:%@",flag, row, modeWork);

    //1为开

    

    //2为加

    

    //3为减

 

}

加载中
0
KSHime
KSHime

NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:filename];


initWithContentsOfFile:方法傳回之值為NSDictionary。

欲使用NSMutableDictionary,請使用mutableCopy傳回實例。


NSMutableDictionary *data = [[[NSDictionary alloc] initWithContentsOfFile:filename] mutableCopy];

鑫鑫
鑫鑫
改了后还是写不到.plist文件中,data读取的数据是正常的,也可以变化,但writeToFile就是写不到.plist中,怀疑是路径或是属性的问题,声明下这个.plist文件是我手动建的,数据也是手动填写的。
返回顶部
顶部