タイトルがあいまいに見えたらごめんなさい。
viewDidLayoutSubviews
クラスのメソッド内から関数 checkLogin を呼び出しています。メソッドのコードは次のとおりです。
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"UserLogin" accessGroup:nil];
NSString *activeUser = [keychain objectForKey:(id)kSecAttrAccount];
int length = [activeUser length];
NSLog(@"%d", length);
if (length > 0) {
NSLog(@"Greater than 0");
[testLabel setHidden:FALSE];
[testLabel setText:@"Currently logged in"];
/*
To fix this, create a new button?
*/
[loginButton setTitle:@"Log Out" forState:UIControlStateNormal];
} else {
NSLog(@"Less than 0");
[testLabel setHidden:TRUE];
[loginButton setTitle:@"Log In" forState:UIControlStateNormal];
//[loginButton setTitle:@"Log In" forState:UIControlStateHighlighted];
}
// Logout [keychain resetKeychainItem];
テキストのタイトルを変更しようとすると、プログラムがクラッシュし、その理由がわかりません。誰でもこれで私を助けることができますか?
私が得るエラーは
*** Assertion failure in -[UIView layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2380.17/UIView.m:5781\ 2013-03-20 16:24:55.751 CompAir[5321:907] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after sending -viewDidLayoutSubviews to the view controller. FirstViewController's implementation needs to send
-layoutSubviews to the view to invoke auto layout.'}