SignIn check Credentials from Plist

2019-07-25 16:16发布

I have a plist with Array title and item0,item1,item2 is dictionary to store title and password of my app.now i want to check for signin process

eneter here now i Want to check for pass and items should be matched when i press submit button to login.i Tried the below code but xcode crashes

-(void)authenticateCredentials 
{ 
NSMutableArray *plistArray = [NSMutableArray arrayWithArray:[self readFromPlist]]; 

for (int i = 0; i< [plistArray count]; i++) 
{ 
 if ([[[plistArray   objectAtIndex:i]objectForKey:@"pass"]isEqualToString:emailTextFeild.text] && [[[plistArray objectAtIndex:i]objectForKey:@"title"]isEqualToString:passwordTextFeild.text]) 
{ 
NSLog(@"Correct credentials"); 
} 

 } 
 }

and

-(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;

 }

the xcode gets crashs ..please check in -(void)authenticateCredentials where i am incorrect?

"Edit" Crash when I select the submit button,Its giving output in nslog correct but crash then , with errorr

 2012-12-07 16:52:54.025 NavTutorial[3029:f803] emailEntry: emailemail@gmail.com
 2012-12-07 16:52:54.057 NavTutorial[3029:f803] passwordEntry: abcd
 2012-12-07 16:52:54.081 NavTutorial[3029:f803] Correct credentials
 2012-12-07 16:52:54.081 NavTutorial[3029:f803] Correct credentials
 2012-12-07 16:52:54.082 NavTutorial[3029:f803] -[__NSCFString objectForKey:]:     unrecognized selector sent to instance 0x68e9c30
 2012-12-07 16:52:54.083 NavTutorial[3029:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString objectForKey:]: unrecognized selector sent to instance 0x68e9c30'
 *** First throw call stack:
(0x14d7052 0x11c2d0a 0x14d8ced 0x143df00 0x143dce2 0x3e71 0x14d8ec9 0x3735c2 0x37355a 0x418b76 0x41903f 0x417e22 0x39893f 0x398c56 0x37f384 0x372aa9 0x1bcdfa9 0x14ab1c5 0x1410022 0x140e90a 0x140ddb4 0x140dccb 0x1bcc879 0x1bcc93e 0x370a9b 0x252d 0x24a5 0x1)
terminate called throwing an exception

2条回答
Luminary・发光体
2楼-- · 2019-07-25 17:06

I was my fault actually .. the code is in code so executes again and again ..then crashes...but when i put Return to exit from the for loop ...its works fine...small but powerful mistake.

查看更多
爷、活的狠高调
3楼-- · 2019-07-25 17:12

Agreed with Peter M, you shouldn't store them locally, at least in plain text. It would help a lot if you could post the error stack, so we could see what's failing.

查看更多
登录 后发表回答