Re: [问题] 关于viewController的切换

楼主: tkdmaf (皮皮快跑)   2014-03-23 17:07:39
※ 引述《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
想向了解这状况的人请益一下这问题是何解。
感激不尽。
作者: itisjoe ( _(:3”∠)_)   2014-03-23 17:55:00
改放在viewDidAppear里呢?
楼主: tkdmaf (皮皮快跑)   2014-03-23 22:58:00
这个方法先前试过了……就……error
作者: NelsonT (.)   2014-03-23 23:44:00
你把建立StdController的部分放到另一个method,然后判断登入成功的话,延迟一下(例如delay 0.5秒)再去呼叫这个method试试看
作者: kiii210 (HelloWorld!)   2014-03-23 23:54:00
既然是在Storyboard加的viewController,怎么会用initWithNibName这个method来初始化呢@@?应该是instantiateViewcontrollerWithIdentifier或segue吧
作者: whitefur (白毛)   2014-03-24 11:14:00
先验证再决定要使用哪个view controllerex: if(未登入) rootViewController = Aelse rootViewController = B你这样写 code不好看。还有就是kiii说的, 要用instan....
楼主: tkdmaf (皮皮快跑)   2014-03-24 16:15:00
不知何故,试了一大堆很多人建议的方式,通通不行。我想把问题回归到最基本面也就是说。原本开新专案就有一个storyboard中的viewController我还是重发文章来说明好了。

Links booklink

Contact Us: admin [ a t ] ucptt.com