私はタイトルplist
付きで、、はアプリのタイトルとパスワードを保存するための辞書です。サインインプロセスを確認したいのですが。Array
item0
item1
item2
今私はパスをチェックしたいのですが、送信ボタンを押してログインするとアイテムが一致するはずです。以下のコードを試しましたが、xcodeがクラッシュします
-(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");
}
}
}
と
-(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;
}
xcodeがクラッシュします.. -(void)authenticateCredentials
私が間違っている場所をチェックしてください?
ボタンを選択すると「編集」submit
がクラッシュします。nslogの出力は正しくなりますが、クラッシュするとエラーが発生します。
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