看板 MacDev 關於我們 聯絡資訊
※ 引述《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
itisjoe:改放在viewDidAppear裡呢? 03/23 17:55
tkdmaf:這個方法先前試過了……就……error 03/23 22:58
NelsonT:你把建立StdController的部分放到另一個method,然後判斷 03/23 23:44
NelsonT:登入成功的話,延遲一下(例如delay 0.5秒)再去呼叫這個m 03/23 23:44
NelsonT:ethod試試看 03/23 23:44
kiii210:既然是在Storyboard加的viewController,怎麼會用 03/23 23:54
kiii210:initWithNibName這個method來初始化呢@@? 03/23 23:54
kiii210:應該是instantiateViewcontrollerWithIdentifier或segue吧 03/23 23:55
whitefur:先驗證再決定要使用哪個view controller 03/24 11:14
whitefur:ex: if(未登入) rootViewController = A 03/24 11:15
whitefur:else rootViewController = B 03/24 11:15
whitefur:你這樣寫 code不好看。還有就是kiii說的, 要用instan.... 03/24 11:16
tkdmaf:不知何故,試了一大堆很多人建議的方式,通通不行。 03/24 16:15
tkdmaf:我想把問題回歸到最基本面也就是說。 03/24 16:15
tkdmaf:原本開新專案就有一個storyboard中的viewController 03/24 16:16
tkdmaf:我還是重發文章來說明好了。 03/24 16:16