IBOutlet和没有IBOutlet有什么区别

时间:2012-10-25 10:19:02

标签: iphone ios iboutlet

  

可能重复:
  IBOutlet and 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 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

编译器会忽略IBOutlet,因此这三个代码对于编译器来说是等效的。

答案 2 :(得分:1)

IBOutlet #define为空令牌(无),因此无论是否使用它都无关紧要。除了Interface Builder使用它来发现哪些对象要在XIB文件中连接和使用。 (作为初学者,我强烈建议您学习如何以编程方式创建UI,并且只有在使用代码创建UI时才使用Interface Builder。)

答案 3 :(得分:1)

一切都一样......

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

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

相关问题