作者tkdmaf (皮皮快跑)
看板MacDev
标题Re: [问题] 关於viewController的切换
时间Sun Mar 23 17:07:39 2014
※ 引述《tkdmaf (皮皮快跑)》之铭言:
: 问题点之1:
: 执行[self presentViewController:stdVC animated:YES completion:nil];
: 就会出现thread 1:signal SIGABRT的错误。
: 问题的需求:
: 当资料库取出资料和server不符时,则会一直在第一个viewController的登入画面。
: 但是如果曾经已经登入过,或是登入的帐密正确时。
: 就直接进入另一个viewController画面。
: 目前我一直都没办法切过去。
: 就是会一直报错。
: 查了很多资料看别人写的例子几乎就差不多长那样。
: 但是改来改去依旧无法顺利。
: 不才想请问我是什麽地方疏漏或是没注意到导致这样的状况?
: 其实第二个viewController才是我真正的功能主选单。
: 感谢回答。
续上篇
我把一个流程列示如下:
我的storyBoard有一个viewController
然後我在storyBoard又加了一个viewController,并定义名称叫StdController
然後程式一开始就直接跑第一个viewController
但我希望在第一个viewController判断若是已登入时。
就自动进入StdController的画面
於是我的code就如下写了:
档名:viewController.m
-(void) viewDidLoad
{
if(如果登入是成功的){
StdController * stdVC =
[[StdController alloc]
initWithNibName:@"StdController" bundle:nil];
[self presentViewController:stdVC animated:YES completion:nil];
}else{
//另行重新验证登入功能
}
}
但是程式跑的时候在这边会是什麽反应也没有。
但如果做成按了button去跑这一段则是会出错。
(是说如果是用button切换用storyBoard做就好了也不用下程式。)
现在问题就是如果登入是成功的之後就没办成切换到StdController
想向了解这状况的人请益一下这问题是何解。
感激不尽。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.69.1.90
1F:→ itisjoe:改放在viewDidAppear里呢? 03/23 17:55
2F:→ tkdmaf:这个方法先前试过了……就……error 03/23 22:58
3F:推 NelsonT:你把建立StdController的部分放到另一个method,然後判断 03/23 23:44
4F:→ NelsonT:登入成功的话,延迟一下(例如delay 0.5秒)再去呼叫这个m 03/23 23:44
5F:→ NelsonT:ethod试试看 03/23 23:44
6F:推 kiii210:既然是在Storyboard加的viewController,怎麽会用 03/23 23:54
7F:→ kiii210:initWithNibName这个method来初始化呢@@? 03/23 23:54
8F:→ kiii210:应该是instantiateViewcontrollerWithIdentifier或segue吧 03/23 23:55
9F:→ whitefur:先验证再决定要使用哪个view controller 03/24 11:14
10F:→ whitefur:ex: if(未登入) rootViewController = A 03/24 11:15
11F:→ whitefur:else rootViewController = B 03/24 11:15
12F:→ whitefur:你这样写 code不好看。还有就是kiii说的, 要用instan.... 03/24 11:16
13F:→ tkdmaf:不知何故,试了一大堆很多人建议的方式,通通不行。 03/24 16:15
14F:→ tkdmaf:我想把问题回归到最基本面也就是说。 03/24 16:15
15F:→ tkdmaf:原本开新专案就有一个storyboard中的viewController 03/24 16:16
16F:→ tkdmaf:我还是重发文章来说明好了。 03/24 16:16