2016-02-07 26 views
1

我是超級IOS中的超級新手。我正在做一個登錄功能。當按下登錄按鈕時,APP應檢查存儲器中的文本。然後,如果檢查狀態返回true,它應該更改爲第二個VC。我目前有一個ViewController的ViewController segue與標識符。我試着用標識符執行segue,但它不起作用(不改變場景並顯示沒有提示。)使用NSDictionary檢查TextField中的值Objective C(用於登錄)

這裏是登錄頁面。 #進口

@interface LoginPage : UIViewController 
@property (strong, nonatomic) IBOutlet UITextField *usernameField; 
@property (strong, nonatomic) IBOutlet UITextField *passwordField; 
- (IBAction)LoginTapped:(id)sender; 

- (IBAction)SignupTapped:(id)sender; 
@end 

的login.m

#import "LoginPage.h" 
#import "Home.h" 
@implementation LoginPage 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

- (IBAction)LoginTapped:(id)sender { 

    NSMutableDictionary *infodictionary =[[NSMutableDictionary alloc] init]; 
    [infodictionary setObject:@"1" forKey:@"rose"]; 
    [infodictionary setObject:@"2" forKey:@"cathy"]; 
    [infodictionary setObject:@"3" forKey:@"corey"]; 
    if ([_passwordField.text isEqualToString:[infodictionary objectForKey: _usernameField.text]]){ 
//  Home *home = [[Home alloc] init]; 
     [self performSegueWithIdentifier:@"ToHome" sender:self]; 
    } 

} 

- (IBAction)SignupTapped:(id)sender { 
    NSString *_NAME = [NSString alloc]; 
    NSString *_PASS = [NSString alloc]; 
    _NAME= _usernameField.text; 
    _PASS = _passwordField.text; 
     } 
@end 

的刺激讓我有型NSException

2016-02-07 05:39:49.437 project_feature_login[8249:941926] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<ViewController 0x7fb5f9c98300> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key passwordField.' 
*** First throw call stack: 
(
    0 CoreFoundation      0x0000000102b18f45 __exceptionPreprocess + 165 
    1 libobjc.A.dylib      0x0000000102592deb objc_exception_throw + 48 
    2 CoreFoundation      0x0000000102b18b89 -[NSException raise] + 9 
    3 Foundation       0x000000010215fa6b -[NSObject(NSKeyValueCoding) setValue:forKey:] + 288 
    4 UIKit        0x000000010305004c -[UIViewController setValue:forKey:] + 88 
    5 UIKit        0x000000010327da71 -[UIRuntimeOutletConnection connect] + 109 
    6 CoreFoundation      0x0000000102a59a80 -[NSArray makeObjectsPerformSelector:] + 224 
    7 UIKit        0x000000010327c454 -[UINib instantiateWithOwner:options:] + 1864 
    8 UIKit        0x0000000103056c16 -[UIViewController _loadViewFromNibNamed:bundle:] + 381 
    9 UIKit        0x0000000103057542 -[UIViewController loadView] + 178 
    10 UIKit        0x00000001030578a0 -[UIViewController loadViewIfRequired] + 138 
    11 UIKit        0x0000000103058013 -[UIViewController view] + 27 
    12 UIKit        0x0000000102f3151c -[UIWindow addRootViewControllerViewIfPossible] + 61 
    13 UIKit        0x0000000102f31c05 -[UIWindow _setHidden:forced:] + 282 
    14 UIKit        0x0000000102f434a5 -[UIWindow makeKeyAndVisible] + 42 
    15 UIKit        0x0000000102ebd396 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4131 
    16 UIKit        0x0000000102ec39c3 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1750 
    17 UIKit        0x0000000102ec0ba3 -[UIApplication workspaceDidEndTransaction:] + 188 
    18 FrontBoardServices     0x0000000105870784 -[FBSSerialQueue _performNext] + 192 
    19 FrontBoardServices     0x0000000105870af2 -[FBSSerialQueue _performNextFromRunLoopSource] + 45 
    20 CoreFoundation      0x0000000102a45011 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 
    21 CoreFoundation      0x0000000102a3af3c __CFRunLoopDoSources0 + 556 
    22 CoreFoundation      0x0000000102a3a3f3 __CFRunLoopRun + 867 
    23 CoreFoundation      0x0000000102a39e08 CFRunLoopRunSpecific + 488 
    24 UIKit        0x0000000102ec04f5 -[UIApplication _run] + 402 
    25 UIKit        0x0000000102ec530d UIApplicationMain + 171 
    26 project_feature_login    0x0000000102094a6f main + 111 
    27 libdyld.dylib      0x000000010523c92d start + 1 
    28 ???         0x0000000000000001 0x0 + 1 
) 

尋求幫助的未捕獲的異常終止!!!!

+0

stacktrace似乎不涉及您的任何代碼。我會冒險猜測問題出在界面(NIB)中。 – trojanfoe

+1

您能否確定您的IBActions和IBOutlet已正確連接? –

+0

@Vishnugondlekar我創建了一個可可文件並將IBAction放在那裏。 –

回答

3

嘗試使用self.passwordField.text而不是_passwordField.text驗證您的條件。還請檢查IBOutlet連接passwordField in Interface Builder。爲接口中的UIViewController設置的類必須是LoginPage

+0

文靜你也可以現在upvote :) –