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

UIViewController 有 view 这个方法???

  •  
  •   vulgur · 2015 年 3 月 26 日 · 3107 次点击
    这是一个创建于 3954 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看到一段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 年 3 月 26 日
    这样会触发 VC 的- loadView 方法; 如果 VC 的 view 还没加载的话.
    txx
        2
    txx  
       2015 年 3 月 26 日
    因为 UIKit 的大部分属性都是 lazyLoad 的....
    lululau
        3
    lululau  
       2015 年 3 月 26 日
    objc属性的实质不就是方法吗
    vulgur
        4
    vulgur  
    OP
       2015 年 3 月 26 日
    @chmlai @txx 谢谢!
    在别处的代码中看到了原作者对这句代码的注释:Force load the view
    yuankui
        5
    yuankui  
       2015 年 3 月 27 日
    属性就是一个getter方法啊...
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3874 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:08 · PVG 13:08 · LAX 21:08 · JFK 00:08
    ♥ Do have faith in what you're doing.