作者strife00 (strifecloud)
看板MacDev
標題[問題] objective c 小問題請教
時間Thu Feb 25 16:18:55 2016
大家好,有個小問題想請教,我用Objective C寫在AppDelegate.m裡面的一個method: -
(BOOL)application: (UIApplication *)application handleOpenURL:(nonnull NSURL *
)url 中,我想要抓到我的ViewController(XCode預設的)。
但我的Storyboard中有把ViewContoller用UINavitationController包起來,請問我要怎
麼寫才能在AppDelegate.m裡面中,抓到被UINavigationController包起來的ViewControl
ler呢?
找了一些資料,但似乎沒找到解答,我之前的寫法如下,但是好像不太正確:
ViewController *controller = (ViewController*)application.keyWindow.rootViewCo
ntroller;
Objective C還沒有很熟是新手,請各位指教了,感謝~> <
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.12.200
※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1456388337.A.FB1.html
→ powerwolf543: 假設你有找到navigationController他有一個屬性叫做 02/25 17:34
→ powerwolf543: topViewController他是navigation架構的第一個VC 02/25 17:35
噓 darktt: 噓樓上,topViewController是拿它的最上 02/25 18:08
→ darktt: 層可見的viewController,不是第一個 02/25 18:08
→ darktt: 第一個是要透過navigationContoller.view 02/25 18:10
→ darktt: Contollers.firstObject 02/25 18:10
→ LFimi: 如果是特定的VC 可以用isKnidOfClass check 02/25 18:14
→ strife00: 感謝大家的回答,用topViewController後找到了,問題解 02/25 19:16
→ strife00: 決了!感恩~ 02/25 19:16
推 cryinglove: 我都用last去取,還真不知有topViewController 02/25 20:36
→ howdiun: 使用keywindow可能會抓到錯誤的window 02/26 16:25