Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.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
Ios 在属性列表中读取和写入数据_Ios_Objective C_Plist - Fatal编程技术网

Ios 在属性列表中读取和写入数据

Ios 在属性列表中读取和写入数据,ios,objective-c,plist,Ios,Objective C,Plist,我知道这个问题在这里已经被问了一百次了,因为我已经在这个论坛上阅读了大多数关于阅读和写作的问题,事实上这就是我发布这个问题的主要原因。我厌倦了尝试关于这个主题的过时教程。我尝试过一些教程,但大多数都使用.xib文件或不使用ARC,我通常会出现一系列错误 有人知道关于使用故事板和ARC向plist读/写的教程吗?换句话说,更新的教程 我所需要的只是一个教程,我可以参考它来更好地理解如何使用plists持久化数据 非常感谢这里有一段非常简单的代码,演示如何读取和写入plist。代码基于此 我这里基本

我知道这个问题在这里已经被问了一百次了,因为我已经在这个论坛上阅读了大多数关于阅读和写作的问题,事实上这就是我发布这个问题的主要原因。我厌倦了尝试关于这个主题的过时教程。我尝试过一些教程,但大多数都使用.xib文件或不使用ARC,我通常会出现一系列错误

有人知道关于使用故事板和ARC向plist读/写的教程吗?换句话说,更新的教程

我所需要的只是一个教程,我可以参考它来更好地理解如何使用plists持久化数据


非常感谢

这里有一段非常简单的代码,演示如何读取和写入plist。代码基于此

我这里基本上有两个标签和屏幕上的两个按钮,一个按钮用于写入数据,另一个按钮用于在单击时读取数据,两个标签用于显示数组(plist)中的前两个项目,项目0将显示在第一个标签中,项目1将显示在第二个标签中

.m文件

-(NSString *)getFilePath
{
    NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    return [[pathArray objectAtIndex:0] stringByAppendingPathComponent:@"fruitList.plist"];
}

-(void)saveData
{
    NSArray *value = [[NSArray alloc] initWithObjects: @"Orange",  @"Apple", nil];
    [value writeToFile:[self getFilePath] atomically:YES];
}

-(void)loadData
{
    NSString *myPath = [self getFilePath];
    BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:myPath];

    if(fileExists)
    {
        NSArray *values = [[NSArray alloc]initWithContentsOfFile:myPath];

        self.labelOne.text = [values objectAtIndex:0];
        self.labelTwo.text = [values objectAtIndex:1];
    }
}

- (IBAction)writeData:(id)sender
{
    [self saveData];
}

- (IBAction)readData:(id)sender
{
    [self loadData];
}
.h文件

@property (weak, nonatomic) IBOutlet UILabel *labelOne;
@property (weak, nonatomic) IBOutlet UILabel *labelTwo;

-(NSString*) getFilePath;
-(void) saveData;
-(void) loadData;

- (IBAction)writeData:(id)sender;
- (IBAction)readData:(id)sender;

对plist的读写与xib文件或故事板无关。另一方面,在实例化对象时,ARC只起作用,但是读写方法应该不会改变。你为什么不发布你尝试过的代码,我相信一定有一些细节是我们可以纠正的。你读过吗?要求一个关于使用故事板和ARC阅读和编写plists的教程就像要求一个关于穿着蓝色衬衫和运动鞋做煎饼的教程一样。正如@Merlevede所说,故事情节和情节提要完全没有任何关系。plists只是将某些类型的对象保存到文件中的一种方法。(“属性列表对象”或属性列表对象的集合。只有NSString、NSData、NSDate、NSNumber、NSArray或NSDictionary对象是属性列表对象。)关于将数据保存到plists,不需要了解太多。只要您保存一个属性列表对象(由Duncan C列出),那么您只需使用适合您要保存的对象类的方法——NSArray、NSDictionary和NSData have writeToFile:Atomicly:或writeToURL:Atomicly:,NSString has writeToURL:Atomicly:编码:错误:。要获取数据,请使用initWithContentsOfURL:或initWithContentsOfFile:方法之一。@fs\u tigre Stackoverflow不是论坛。此处没有[solved]标记或标题中的任何其他标记。这是一个问答网站。你问了一个问题。如果您设法找到了解决方案,请在解决方案中添加答案,并单击左侧的复选标记进行标记。看见