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