iphone - IBOutlet 是否始终需要 .h 文件中的实例变量?

标签 iphone objective-c

有时我会看到以下代码变成两种不同的格式:

格式1:

#import <UIKit/UIKit.h>
@interface MyViewController : UIViewController {
    IBOutlet UILabel *myText;
}

@property (retain, nonatomic) UILabel *myText;

-(IBAction)buttonPressed:(id)sender;
@end

格式2:

#import <UIKit/UIKit.h>
@interface MyViewController : UIViewController {

}

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

-(IBAction)buttonPressed:(id)sender;

@end

正确的格式是什么?为什么?

最佳答案

为了澄清 Hack Saw 所说的内容,并更直接地回答您的问题,您是否将 IBOutlet 放在属性声明中或实例变量声明中并不重要。

Hack Saw 想说的是 IBOutlet 和 IBAction 对编译器来说毫无意义(IBAction 被编译为 void)。它们存在的唯一原因是 Interface Builder 解析文件并列出开发人员认为它应该关心的所有对象和方法。

关于iphone - IBOutlet 是否始终需要 .h 文件中的实例变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5847432/

相关文章:

iphone - 在 Overlays 可见时隐藏 MKMapView

objective-c - 使用完全不同的架构更新iPad应用程序

iphone - 单击 UISwitch 时选择 UITableView 的行

ios - 更改文本字段和 "save before quit"

ios - 自定义 Storyboard Segue 在模拟器中有效,但在设备上无效

iOS7 在后台应用程序切换器中的错误屏幕截图

ios - 如何覆盖导航栏

ios - 在 Swift 中使用 value 参数时 genstrings 会阻塞

objective-c - 在Cocoa中,有没有办法向文件所有者中的数组添加导出?

iphone - NSFetchedResultsController.sortDescriptor 按 KeyPath