2016-05-04 2 views
1

Я новичок в разработке IOS. В Main.storyoard я добавил новый viewcontroller, назначил его новому классу («LoginViewController») и предоставил идентификатор раскадровки («loginview»). Затем я добавил кнопку по умолчанию viewcontroller и попробовал следующий код для вызова вновь созданного viewcontroller.Исключение при вызове другого экрана в IOS

NSString * storyboardName = @"Main.storyboard"; 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil]; 
    UIViewController * vc = [storyboard instantiateViewControllerWithIdentifier:@"loginview"]; 
    [self presentViewController:vc animated:YES completion:nil]; 

Во время отладки, когда я нажал на кнопку, чтобы отобразить другой экран, я получаю следующее исключение

2016-05-04 12: 04: 40,793 gcmexample [1418: 30458] * Согласующее приложение из-за до неперехваченного исключения «NSInvalidArgumentException», причина: «не удалось найти раскадровку с именем„Main.storyboard“в расслоении NSBundle (загружен)» * Первый стек бросить вызов: (0 CoreFoundation 0x0000000101150e65 exceptionPreprocess + 165 1 libobjc.A.dylib
0x0000000100840deb objc_exception_throw + 48 2 UIKit
0x0000000101c21669 - [имя UIStoryboard] + 0 3 gcmexample
0x000000010033f2d6 - [ViewController btnSignout:] + 86 4 UIKit
0x00000001014ff194 - [UIApplication sendAction : до: от: forEvent:] + 92 5 UIKit 0x000000010166e6fc - [UIControl sendAction: до: forEvent:] + 67 6 UIKit 0x000000010166e9c8 - [UIControl _sendActionsForEvents: withEvent:] + 311 7 UIKit 0x000000010166daf8 - [UIControl touchesEnded: withEvent:] + 601 8 UIKit 0x000000010156e49b - [UIWindow _sendTouchesForEvent:] + 835 9 UIKit 0x000000010156f1d0 - [UIWindow SendEvent:] + 865 10 UIKit
0x000000010151db66 - [UIApplication SendEvent:] + 263 11 UIKit
0x00000001014f7d97 _UIApplicationHandleEventQueue + 6844 12 CoreFoundation 0x000000010107ca31 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION
+ 17 13 CoreFoundation 0x000000010107295c __CFRunLoopDoSources0 + 556 14 CoreFoundation 0x0000000101071e13 __CFRunLoopRun + 867 15 CoreFoundation
0x0000000101071828 CFRunLoopRunSpecific + 488 16 GraphicsServices
0x000000010492bad2 GSEventRunModal + 161 17 UIKit
0x00000001014fd610 UIApplicationMain + 171 18 gcmexample
0x000000010033ffdf main + 111 19 libdyld.dylib
0x000000010388c92d start + 1 20 ???
0x0000000000000001 0x0 + 1) LibC++ abi.dylib: оканчивающиеся неперехваченного исключением типа NSException

Кто-нибудь знает, Что ошибка здесь? Пожалуйста помоги.

+2

NSString * storyboardName = @ "Main"; // без расширения «.storyboard» –

+1

попробуйте следующее: NSString * storyboardName = @ «Main»; –

ответ

4

Попробуйте: -

NSString * storyboardName = @"Main"; 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil]; 
    UIViewController * vc = [storyboard instantiateViewControllerWithIdentifier:@"loginview"]; 
    [self presentViewController:vc animated:YES completion:nil]; 
+0

Спасибо, сэр. он отлично работает. –

+0

Ур приветственный брат @ManasMaity –

1

попробуйте этот код,

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil]; 
UIViewController * vc = [storyboard instantiateViewControllerWithIdentifier:@"loginview"]; 
[self.navigationController presentViewController:vc animated:YES completion:nil]; 

надеюсь, его полезной

0

Используйте этот код, это поможет вам nevigate:

NSString * storyboardName = @"Main"; 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:YoustoryboardName bundle: nil]; 
    UIViewController * vcontroll = [storyboard instantiateViewControllerWithIdentifier:@"loginview"]; 
    [self presentViewController:vcontroll animated:YES completion:nil]; 
Смежные вопросы