Ios 如何将TextField的内容保存到plist

Ios 如何将TextField的内容保存到plist,ios,objective-c,uitextfield,ios-simulator,plist,Ios,Objective C,Uitextfield,Ios Simulator,Plist,我想用对应的键值对在plist中保存TextFields的内容。 Like Password字段应与密钥密码和值一起保存-(在textField中输入) 我该怎么做 并希望在其他类中访问它。我能做吗?如果是,那么如何保存?您可以通过以下方式将textField的内容保存到Plist: NSMutableDictionary *_plistDict = [NSMutableDictionary dictionaryWithContentsOfFile:pListPath];

我想用对应的键值对在plist中保存TextFields的内容。 Like Password字段应与密钥密码和值一起保存-(在textField中输入)

我该怎么做


并希望在其他类中访问它。我能做吗?如果是,那么如何保存?

您可以通过以下方式将textField的内容保存到Plist:

        NSMutableDictionary *_plistDict = [NSMutableDictionary dictionaryWithContentsOfFile:pListPath];
        [_plistDict setValue:textField.text forKey:@"Password"];
        [_plistDict writeToFile:pListPath atomically:YES];
如果要从pList检索该值,可以使用以下代码:

NSMutableDictionary *_plistDict = [NSMutableDictionary dictionaryWithContentsOfFile:pListPath];
    NSString *status = [NSString stringWithFormat:@"%@",[_plistDict objectForKey:@"Password"]];

是,使用
NSMutableDictionary
在Dictionary的键中添加
uitextfield
属性的值。像

         NSMutableDicitonary * dictionary = [[NSMutableDictionary alloc] init];
        [dictionary setObject:textfield.text forKey:@"username"];
        [dictionary setObject:textfield.text forKey:@"password"];

将字典保存在plist中,并在需要时使用它

将内容添加到
plist
很容易。下面是完整的工作代码,将人员联系信息添加到plist中-

// get paths from root direcory
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
// get documents path
NSString *documentsPath = [paths objectAtIndex:0];
// get the path to our Data/plist file
NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"];

// set the variables to the values in the text fields
self.personName = nameEntered.text;
self.phoneNumbers = [[NSMutableArray alloc] initWithCapacity:3];
[phoneNumbers addObject:homePhone.text];
[phoneNumbers addObject:workPhone.text];
[phoneNumbers addObject:cellPhone.text];

// create dictionary with values in UITextFields
NSDictionary *plistDict = [NSDictionary dictionaryWithObjects: [NSArray arrayWithObjects: personName, phoneNumbers, nil] forKeys:[NSArray arrayWithObjects: @"Name", @"Phones", nil]];

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

// check is plistData exists
if(plistData) 
{
    // write plistData to our Data.plist file
    [plistData writeToFile:plistPath atomically:YES];
}
else
{
    NSLog(@"Error in saveData: %@", error);
    [error release];
}

最佳做法是将这些信息保存在NSUserDefaults中,而不是plist中。NSUserDefautls可以从项目中的任何位置访问

保存:

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:[yourTextfield text] forKey:@"password"];
检索:

 NSString *myPassword = [[NSUserDefaults standardUserDefaults] objectForKey:@"password"];

嗨,谢谢。。但是我不知道我的plist存储的位置。。我的本地账户中没有图书馆。。如何进行搜索?我也在Finder中搜索过。我想它们在这里的子文件夹中。
~/Library/Application-Support/iPhone-Simulator/User/Applications/
更多信息-我没有得到Library文件夹。。它显示了路径,但我无法跟踪给定的路径。这可能是最佳做法,但我们如何在其他类中访问NSUserDefault?我尝试导入该类,但它显示了一些错误。
[NSUserDefaults standardUserDefaults]
是单例的,因此可以从应用程序中的任何位置访问它。你不必进口任何东西。无需在ViewController之间传递对象。从一个地方保存并从另一个地方访问。您只是复制粘贴在上面的代码吗?如果是,在上面的代码
[yourTextfield text]
中,这里
yourTextfield
应该是您声明的文本字段。在你的代码中更改它。
 NSString *myPassword = [[NSUserDefaults standardUserDefaults] objectForKey:@"password"];