【发布时间】:2012-12-19 11:01:38
【问题描述】:
我有一个 RegistrationController 屏幕来存储 email-id ,password,DOB,Height,Weight 和 logininController 屏幕来匹配 email-id 和 password 登录目的.
现在,在某些 third 屏幕中,我必须仅从登录用户的 plist 中获取 Height,Weight 以将其显示在标签上。现在如果我存储 email-id 的值和password in from LoginViewController in string 并在新屏幕中调用它以匹配如果匹配然后给出Height,Weight ..如果它更正则如何从plist中获取Height,Weight同一个。
如何从存储的 plist 中获取字符串?
这是我的代码:
-(NSArray*)readFromPlist
{
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [documentPaths objectAtIndex:0];
NSString *documentPlistPath = [documentsDirectory stringByAppendingPathComponent:@"XYZ.plist"];
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:documentPlistPath];
NSArray *valueArray = [dict objectForKey:@"title"];
return valueArray;
}
- (void)authenticateCredentials {
NSMutableArray *plistArray = [NSMutableArray arrayWithArray:[self readFromPlist]];
for (int i = 0; i< [plistArray count]; i++)
{
id object = [plistArray objectAtIndex:i];
if ([object isKindOfClass:[NSDictionary class]]) {
NSDictionary *objDict = (NSDictionary *)object;
if ([[objDict objectForKey:@"pass"] isEqualToString:emailTextFeild.text] && [[objDict objectForKey:@"title"] isEqualToString:passwordTextFeild.text])
{
NSLog(@"Correct credentials");
return;
}
NSLog(@"INCorrect credentials");
} else {
NSLog(@"Error! Not a dictionary");
}
}
}
【问题讨论】: