V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vulgur
V2EX  ›  iOS

UIViewController 有 view 这个方法???

  •  
  •   vulgur · 2015-03-26 14:47:17 +08:00 · 2808 次点击
    这是一个创建于 3541 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看到一段Objective-C代码,百思不得其解,特来请教。

    LogInViewController *logInVC = [self.rootViewController.storyboard instantiateViewControllerWithIdentifier:kViewControllerIdLogIn];
    [logInVC view];

    我奇怪的是view是UIViewController的一个property,并不是method,为什么可以讲它发送给一个UIViewController。而且我也查看了,这个UIViewController并没有实现view的同名getter方法,即使是调用的getter那也并没有赋值给其他变量啊,那么这么写的意义和作用是什么呢?

    5 条回复    2015-03-27 11:25:34 +08:00
    chmlai
        1
    chmlai  
       2015-03-26 14:58:25 +08:00
    这样会触发 VC 的- loadView 方法; 如果 VC 的 view 还没加载的话.
    txx
        2
    txx  
       2015-03-26 14:59:54 +08:00
    因为 UIKit 的大部分属性都是 lazyLoad 的....
    lululau
        3
    lululau  
       2015-03-26 15:00:45 +08:00
    objc属性的实质不就是方法吗
    vulgur
        4
    vulgur  
    OP
       2015-03-26 15:47:55 +08:00
    @chmlai @txx 谢谢!
    在别处的代码中看到了原作者对这句代码的注释:Force load the view
    yuankui
        5
    yuankui  
       2015-03-27 11:25:34 +08:00
    属性就是一个getter方法啊...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1018 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:52 · PVG 04:52 · LAX 12:52 · JFK 15:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.