使用iOS将数据保存到plist中

时间:2016-09-17 16:55:01

标签: ios plist

我正在尝试向plist添加数据,但我不能,让我们告诉你我在做什么:

看看我的plist:

enter image description here

让我们看看我的代码,我创建了2个数组:

@property NSMutableArray *nameArr;
@property NSMutableArray *countryArr;

以下是我保存数据的代码:

NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsPath = [paths objectAtIndex:0];
    NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"];

[self.nameArr addObject:self.theName.text];
[self.countryArr addObject:self.cellPhone.text];

NSDictionary *plistDict = [[NSDictionary alloc] initWithObjects: [NSArray arrayWithObjects: self.nameArr, self.countryArr, nil] forKeys:[NSArray arrayWithObjects: @"city", @"state", nil]];

NSString *error = nil;
NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:plistDict format:NSPropertyListXMLFormat_v1_0 errorDescription:&error];

if(plistData)
{
    [plistData writeToFile:plistPath atomically:YES];
    NSLog(@"Data Saved");

}
else
{
    NSLog(@"Data not saved");

}

下图显示错误,应用已终止,但我不知道问题出在哪里。

enter image description here

1 个答案:

答案 0 :(得分:1)

可能已声明数组属性但从未初始化。

你必须添加

SecureStreamSocket(
    const SocketAddress & address,
    const std::string & hostName
);

//Creates a secure stream socket using the default client SSL context and connects it to the socket specified by address.
//The given host name is used for certificate verification <=======

在使用它们之前的某个地方。

关于警告,请使用编译器建议的方法。