在@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";
答案 0 :(得分:3)
术语IBOutlet
只是Xcode的占位符。通过它,Xcode可以帮助您将实例变量连接到图形元素。
这是我之前的旧答案:iOS Memory Management Issue。
看一看。它涵盖了很多东西。
我还建议您通过 Mike Ash 阅读nib-memory-management。
希望有所帮助。
答案 1 :(得分:2)
这意味着ivar将成为IBOutlet。就像你现在的财产是IBOutlet一样。
你在为你的ivar和财产命名方面犯了一个更大的错误。
total.text
和您文件中的self.total.text
不是一回事。
答案 2 :(得分:2)
IB没有区别,但是,在您的财产到位后,您的UILabel
会被保留,您必须将其释放(如果您不使用ARC)。如果您不使用@property
,则该标签不属于您,您无需将其发布。