Re: [問題] 關於viewController的切換

看板MacDev作者 (皮皮快跑)時間11年前 (2014/03/23 17:07), 編輯推噓2(2014)
留言16則, 5人參與, 最新討論串2/3 (看更多)
※ 引述《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

03/23 17:55, , 1F
改放在viewDidAppear裡呢?
03/23 17:55, 1F

03/23 22:58, , 2F
這個方法先前試過了……就……error
03/23 22:58, 2F

03/23 23:44, , 3F
你把建立StdController的部分放到另一個method,然後判斷
03/23 23:44, 3F

03/23 23:44, , 4F
登入成功的話,延遲一下(例如delay 0.5秒)再去呼叫這個m
03/23 23:44, 4F

03/23 23:44, , 5F
ethod試試看
03/23 23:44, 5F

03/23 23:54, , 6F
既然是在Storyboard加的viewController,怎麼會用
03/23 23:54, 6F

03/23 23:54, , 7F
initWithNibName這個method來初始化呢@@?
03/23 23:54, 7F

03/23 23:55, , 8F
應該是instantiateViewcontrollerWithIdentifier或segue吧
03/23 23:55, 8F

03/24 11:14, , 9F
先驗證再決定要使用哪個view controller
03/24 11:14, 9F

03/24 11:15, , 10F
ex: if(未登入) rootViewController = A
03/24 11:15, 10F

03/24 11:15, , 11F
else rootViewController = B
03/24 11:15, 11F

03/24 11:16, , 12F
你這樣寫 code不好看。還有就是kiii說的, 要用instan....
03/24 11:16, 12F

03/24 16:15, , 13F
不知何故,試了一大堆很多人建議的方式,通通不行。
03/24 16:15, 13F

03/24 16:15, , 14F
我想把問題回歸到最基本面也就是說。
03/24 16:15, 14F

03/24 16:16, , 15F
原本開新專案就有一個storyboard中的viewController
03/24 16:16, 15F

03/24 16:16, , 16F
我還是重發文章來說明好了。
03/24 16:16, 16F
文章代碼(AID): #1JBgHV1c (MacDev)
討論串 (同標題文章)
文章代碼(AID): #1JBgHV1c (MacDev)