0

可能重复:
IBOutlet 和 IBAction

我是 iphone 开发的新手,有一些基本问题要问。我有兴趣了解三个代码之间的区别。第一个代码:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UIScrollViewDelegate> {
    UIScrollView *scrollView;
}

@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;

第二个代码:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UIScrollViewDelegate> {
    IBOutlet UIScrollView *scrollView;
}

@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;

第三个代码:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UIScrollViewDelegate> {
    IBOutlet UIScrollView *scrollView;
}

@property (nonatomic, retain) UIScrollView *scrollView;

需要对此进行一些澄清。

4

4 回答 4

3

IBOutlet 关键字用于将 Interface Builder 中的内容连接到代码。请参阅https://developer.apple.com/library/mac/documentation/General/Devpedia-CocoaApp-MOSX/Outlet.html

于 2012-10-25T10:28:33.853 回答
1

IBOutlet 被编译器忽略,所以这3个代码对于编译器来说是等价的。

于 2012-10-25T10:24:00.273 回答
1

IBOutlet'ed 到一个空的令牌(什么都#define没有),所以它是否被使用并不重要。除了 Interface Builder 使用它来发现要在 XIB 文件中连接和使用的对象。(作为初学者,我强烈建议您学习如何以编程方式制作 UI,并且仅当您可以使用代码制作 UI 时才使用 Interface Builder。)

于 2012-10-25T10:26:42.813 回答
1

都是一样的...

如果我们想将在 .h 文件中创建的对象与在界面生成器中拖动的对象连接起来,那么我们必须使用 IBOutlet..

我们可以在声明对象或为其创建属性时使用 IBOutlet。如果我们写两次 IBOutlet 也没有问题

于 2012-10-25T10:29:33.397 回答