【问题标题】:UIImageView Created In Interface Builder Set To nil When Needed需要时在 Interface Builder 中创建的 UIImageView 设置为 nil
【发布时间】:2011-04-01 04:43:15
【问题描述】:

我有一个应用程序,其中在 MainWindow 中定义了少量对象。其中一对对象是 UIViewController 和与此控制器一起使用的 UIImageView。当应用程序启动时,整个 MainWindow.xib 被加载,我可以看到这个 UIImageView 已经加载到内存中。此时,我不需要这个 UIImageView。

当我需要 UIViewController 时,我执行通常的 alloc/init 设置。此时,当我用调试器查看这个控制器时,控制器设置正确,但本应与 Interface Builder 预连接的 UIImageView 始终为 nil。

关于如何确保此 UIImageView 正确加载到内存中的任何建议?这是唯一一个我在单个 MainWindow.xib 文件中定义的对象遇到问题的情况。

【问题讨论】:

    标签: iphone ios4


    【解决方案1】:

    假设您已连接view 插座,您需要做的就是访问view 属性。当您查看调试器时,您会看到属性对应的 ivar。当您在代码中访问该属性时,它应该为您加载。所以,它应该很简单:

      [controller view];
    

    【讨论】:

    • 我尝试了[控制器视图],但据我所见,它不起作用。我的头文件中有这个定义:@interface FlickrViewController : UIViewController { IBOutlet UIImageView *photoView; NSString *photoURL; } 我尝试通过 Interface Builder 设置“photoView”。我相信我的 IB 连接正确。但是,每当我尝试使用或查看“photoView”时,我发现它总是设置为 nil,这是不正确的。不幸的是,我对自己要解决的问题没有很好的了解。
    【解决方案2】:

    不太确定我是否理解这个问题,但不是在 MainWindow.xib 中拥有 UIImageView,为什么不在实际需要它的 xxxViewController.xib 中拥有它?

    【讨论】:

    • 我今天早上尝试拆分 xib 文件。如果我创建一个单独的 xxxViewController.xib 文件,我会将相同的 UIImageView 设置为 nil。不幸的是,我的理解不够好,无法给你更好的解释。
    猜你喜欢
    • 1970-01-01
    • 2020-11-02
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 2013-01-17
    • 2011-06-02
    相关资源
    最近更新 更多