2010-09-08 39 views
7

Có thể tạo thuộc tính riêng trong Objective-C không? Tôi biết rằng một loại chức năng tài sản cá nhân có thể được triển khai theo cách khác nhưng tôi quan tâm đến một câu hỏi cụ thể. Cảm ơn.Có thể tạo thuộc tính riêng trong Objective-C không?

+0

tôi đang tìm cách để làm điều tương tự. Tôi muốn ẩn tất cả mã lưu giữ/giải phóng cho một biến cụ thể được chứa trong một lớp, nhưng biến đó không có nghĩa là công khai. – Brain2000

+0

JFYI, bây giờ với SDK iOS 5 ARC bạn không cần phải quan tâm đến việc giữ lại và phát hành nữa :) – knuku

+0

Đó là những gì tôi nghe thấy, tôi rất vui mừng được thấy. Xin lỗi, thoát khỏi chủ đề. – Brain2000

Trả lời

9

Có, bạn có thể, nhưng mã sẽ có vẻ hơi lạ. Và nó sẽ chỉ cung cấp cho bạn một số cảnh báo nếu bạn gọi, bạn phải kiểm tra xem có những lời cảnh báo cho mình

trong file .m thực hiện của bạn

@interface YourObject() 

@property (nonatomic, retain) NSMutableArray *infoArray; 

@end 
+0

Và ngay cả giải pháp này sẽ không tạo ra tài sản cá nhân thực sự vì nó sẽ có thể truy cập cho mã bên ngoài. Ngay cả khi không có cảnh báo nếu được gọi là setValue: forKey: – Gobra

+0

Ý bạn là gì? nếu tôi gọi như YourObject * obj = // alloc init; sau đó obj.infoArray, nó sẽ cho tôi cảnh báo. Bạn đang làm KVO? – vodkhang

+0

@vodkhang: Tại sao bạn nói mã sẽ trông lạ? Nó trông khá bình thường với tôi. – JeremyP

Các vấn đề liên quan