晚上好,
我在此之前已经研究过这个话题,但我仍然非常困惑,因为我没有看到一个很好的使用示例。我现在正在关注这个视频,这就是他所做的:
@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
关键字的来源?