chênh lệch (nếu có) giữa Objective-C 2.0 đoạn mã sau là gì:Sự khác nhau giữa biến tin dụ và tài sản trong công tác khuyến lớp (Objective-c 2.0)
// in MyClass.h
@interface MyClass
@private
NSString *myString;
@end
và
// in MyClass.m
@interface MyClass()
@property (nonatomic, copy) NSString *myString;
@end
@implementation MyClass
@synthesize myString;
@end
Trong trường hợp thứ hai tôi không nghĩ rằng getter/setter tổng hợp của myString có thể được truy cập bên ngoài phạm vi thực hiện. Lưu ý rằng chúng nằm trong phần mở rộng của lớp bên trong tệp triển khai. – SundayMonday
Xin lỗi, tôi đã bỏ lỡ phần đó. Cái thứ hai được coi là trong một phần riêng tư (giống như API riêng tư của Apple giống như -recirsiveDescription của UIView). Nhưng chúng vẫn có thể được truy cập thông qua các phương thức accessor, mặc dù trình biên dịch sẽ tạo ra các cảnh báo. Người đầu tiên sẽ không thể truy cập được vì trình biên dịch sẽ tạo ra lỗi. – Eugene