Objective-C和self关键字

时间:2017-10-20 23:22:40

标签: ios objective-c

晚上好,

我在此之前已经研究过这个话题,但我仍然非常困惑,因为我没有看到一个很好的使用示例。我现在正在关注这个视频,这就是他所做的:

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property (nonatomic,strong) NSArray *videoList;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    self.tableView.dataSource = self;
    self.tableView.delegate = self;

    self.videoList = [[NSArray alloc]init];

好吧,他在这里使用self关键字的原因是因为他基本上是在说这个实现文件中使用名为videoList的“this”属性吗?

我继续将该属性移动到此实现头文件,这仍然可以。我假设它是因为我导入了该头文件,它可以访问该属性?同样,为什么self关键字?现在是什么意思?

我知道如果在实现文件中声明属性,那么该实现文件是唯一可以使用该属性的文件。如果您要在头文件中声明它,那么导入该头文件的任何实现文件都可以实现该属性。假设您有两个具有相同命名属性的头文件。

一个头文件:

@property (nonatomic,strong) NSArray *arr;

第二个头文件:

@property (nonatomic,strong) NSArray *arr;

如果您要将这两个头文件导入到实现文件中会导致错误,或者这是self关键字的来源?

0 个答案:

没有答案