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

UIViewController 有 view 这个方法???

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

    看到一段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   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方法啊...
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1237 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:18 · PVG 02:18 · LAX 11:18 · JFK 14:18
    ♥ Do have faith in what you're doing.