Tôi là nhà phát triển iPhone/Objective-C mới và khi tôi thực hiện các hướng dẫn và mã nguồn mở khác nhau, tôi đang gặp một chút vấn đề hiểu khi sử dụng dấu ngoặc vuông "[]" và khi nào thì dùng dấu chấm "." để truy cập các thuộc tính/phương thức của một đối tượng.Khi nào sử dụng dấu ngoặc và thời điểm sử dụng khoảng thời gian trong Mục tiêu-C
Ví dụ, mã này:
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
UIColor *backgroundColor = nil;
if (selected){
backgroundColor = [UIColor clearColor];
} else {
backgroundColor = [UIColor whiteColor];
}
self.todoTextLabel.backgroundColor = backgroundColor;
self.todoTextLabel.highlighted = selected;
self.todoTextLabel.opaque = !selected;
self.todoPriorityLabel.backgroundColor = backgroundColor;
self.todoPriorityLabel.highlighted = selected;
self.todoPriorityLabel.opaque = !selected;
}
Tại sao [UIColor clearColor]
có dấu ngoặc, nhưng todoTextLabel.backgroundColor
có được giai đoạn này?
Ai đó có thể giải thích điều này một cách dễ dàng cho tôi không?
bạn cũng có thể sử dụng. tôi nghĩ rằng phương pháp chấm đã được giới thiệu để làm cho có thể một số tính năng mới với Objective-C 2.0. Tôi tin rằng nó đã làm với keypaths, nhưng tôi có thể sai. Tôi chỉ sử dụng phương pháp chấm nếu nó sẽ tiết kiệm một số không gian trên một cuộc gọi phương thức lồng nhau thực sự dài. – pxl