作者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://webptt.com/cn.aspx?n=bbs/MacDev/M.1456388337.A.FB1.html
1F:→ powerwolf543: 假设你有找到navigationController他有一个属性叫做 02/25 17:34
2F:→ powerwolf543: topViewController他是navigation架构的第一个VC 02/25 17:35
3F:嘘 darktt: 嘘楼上,topViewController是拿它的最上 02/25 18:08
4F:→ darktt: 层可见的viewController,不是第一个 02/25 18:08
5F:→ darktt: 第一个是要透过navigationContoller.view 02/25 18:10
6F:→ darktt: Contollers.firstObject 02/25 18:10
7F:→ LFimi: 如果是特定的VC 可以用isKnidOfClass check 02/25 18:14
8F:→ strife00: 感谢大家的回答,用topViewController後找到了,问题解 02/25 19:16
9F:→ strife00: 决了!感恩~ 02/25 19:16
10F:推 cryinglove: 我都用last去取,还真不知有topViewController 02/25 20:36
11F:→ howdiun: 使用keywindow可能会抓到错误的window 02/26 16:25