1

@interface在vs中声明 IBOutlet 是什么意思?在一个简单的测试中,分配在任何一种情况下都有效。

@interface MyViewController : UIViewController <UITextFieldDelegate> {

    IBOutlet UITextField *textField;
    IBOutlet UILabel *label;
    NSString *string;
    /*IBOutlet*/ UILabel *total;//What does it mean to declare IBOutlet here?
}

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

.h

@synthesize total;
total.text = @"23";
4

3 回答 3

3

该术语IBOutlet只是 Xcode 的占位符。通过它,Xcode 可以帮助您将实例变量连接到图形元素。

这是我以前的旧答案:iOS 内存管理问题

看一看。它涵盖了很多东西。

我还建议阅读Mike Ashnib-memory-management

希望有帮助。

于 2012-06-27T13:22:39.987 回答
2

这意味着 ivar 将是一个 IBOutlet。就像您当前的财产是 IBOutlet 一样。

你在命名你的 ivar 和 property 时犯了一个更大的错误。

total.text并且self.total.text在你的文件中不是一回事。

于 2012-06-27T13:18:53.657 回答
2

IB 没有区别,但是,在您的财产到位后,您UILabel将被保留并且您必须释放它(如果您不使用 ARC)。如果您不使用@property,则该标签不归您所有,您无需释放它。

于 2012-06-27T13:18:55.467 回答