【问题标题】:UIViewController IBOutlets are nilUIViewController IBOutlets 为零
【发布时间】:2011-04-29 16:21:50
【问题描述】:

我有一个带有两个标签的 UIViewController 类和一个设置为 IBOutlets 的 UIImageView,我在我的 xib 中连接了这个插座,我仔细检查了它们是否正确连接,但是当我在调试器中检查它们的值时,它们是 0x0所以我不能以编程方式更改它们。关于我可能做错的任何想法。

这是我的代码的头文件:

#import <UIKit/UIKit.h>


@interface PlateDetailViewController : UIViewController {

     IBOutlet UIImageView *image;
     IBOutlet UILabel *price;
     IBOutlet UILabel *description;

}

@property (nonatomic, retain)IBOutlet UIImageView *image;

@property (nonatomic, retain)IBOutlet UILabel *price;

@property (nonatomic, retain)IBOutlet UILabel *description;


@end

【问题讨论】:

  • 告诉我们当您进入调试器时您在程序执行的哪个位置?即,您在哪个班级中使用哪种方法?这是崩溃吗?断点?什么?
  • 我正在使用视图 A 中的 alloc initWithNibName 创建一个 PlateDetailViewController,正是在这个视图中,我在界面生成器中创建的 PlateDetailViewController 的所有属性都为零,这不会使我的应用程序崩溃,但是我无法从视图 A 向 PlateDetailViewController 的 imageView 添加图像

标签: iphone uiviewcontroller uiimageview xib


【解决方案1】:

在实际实例化视图控制器的视图之前,您的 outlet 不会被设置,在您的情况下,这可能发生在 initWithNibName:bundle: 之后不久——此时它们仍然为零。您所做的任何涉及这些插座的设置都应该在您的视图控制器的 -viewDidLoad 方法中进行。

【讨论】:

    猜你喜欢
    • 2014-11-14
    • 2016-10-30
    • 2014-05-14
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多