Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iPhone3.0中,如何在Plist中存储值并在运行时读取?_Iphone_Plist_Store - Fatal编程技术网

在iPhone3.0中,如何在Plist中存储值并在运行时读取?

在iPhone3.0中,如何在Plist中存储值并在运行时读取?,iphone,plist,store,Iphone,Plist,Store,如何在iPhone3.0中存储Plist中的值并在运行时读取 提前感谢。如果您的数组或字典只包含字符串、日期、数字、数组和字典等“标准”数据类型,则可以使用-[NSArray writeToFile:atomicly:或-[NSDictionary writeToFile:atomicly:][code>将内容保存到.plist文件中。要读取文件,请使用-initWithContentsOfFile: 请注意,应用程序捆绑包在iPhone OS设备上不可写,因此您必须将文件存储在应用程序的文档目

如何在iPhone3.0中存储Plist中的值并在运行时读取


提前感谢。

如果您的数组或字典只包含字符串、日期、数字、数组和字典等“标准”数据类型,则可以使用
-[NSArray writeToFile:atomicly:
-[NSDictionary writeToFile:atomicly:][code>将内容保存到.plist文件中。要读取文件,请使用
-initWithContentsOfFile:


请注意,应用程序捆绑包在iPhone OS设备上不可写,因此您必须将文件存储在应用程序的文档目录中。

此解决方案可应用于
NSArray
NSDictionary

使用此方法从属性列表生成一个
NSData
,并使用
writeToFile
将其保存到磁盘

[NSPropertyListSerialization dataFromPropertyList:(id)plist
                                           format:(NSPropertyListFormat)format
                                 errorDescription:(NSString **)errorString];
使用此方法从
NSData
读取属性列表

[NSPropertyListSerialization propertyListFromData:(NSData *)data
                                 mutabilityOption:(NSPropertyListMutabilityOptions)opt
                                           format:(NSPropertyListFormat *)format
                                 errorDescription:(NSString **)errorString];
例如:

NSPropertyListFormat format = 0;
NSString *errorString = nil;

NSDictionary *dataDict = [NSPropertyListSerialization propertyListFromData:data
        mutabilityOption:NSPropertyListMutableContainersAndLeaves
        format:&format errorDescription:&errorString];

if (errorString != nil) {
    NSLog(errorString);
    [errorString release];
}

NSLog(@"got dictionary:%@", dataDict);

errorString = nil;
NSData *data = [NSPropertyListSerialization dataFromPropertyList:dataDict
        format:NSPropertyListXMLFormat_v1_0 errorDescription:errorString];

NSLog(@"plist data:%@", data); // convert to NSString to get <plist>
NSPropertyListFormat=0;
NSString*errorString=nil;
NSDictionary*dataDict=[NSPropertyListSerialization propertyListFromData:data
可变选项:NSPropertyListMutableContainers和Leaves
格式:&格式错误描述:&错误字符串];
if(errorString!=nil){
NSLog(errorString);
[错误字符串释放];
}
NSLog(@“got dictionary:%@”,dataDict);
errorString=nil;
NSData*data=[NSPropertyListSerialization dataFromPropertyList:dataDict
格式:NSPropertyListXMLFormat_v1_0 errorDescription:errorString];
NSLog(@“plist data:%@”,data);//转换为NSString以获取
,此链接可能会对您有所帮助。。