là gì về mặt kỹ thuật xảy ra với những điều sau đây:Objective-C bất động sản - getter hành vi
@property(nonatomic, assign) NSUInteger timestamp;
@property(nonatomic, readonly, getter = timestamp) NSUInteger startTime;
@property(nonatomic, assign) NSUInteger endTime;
Tôi chắc chắn tôi có thể tìm thấy một cách tốt hơn để tổ chức này, nhưng đây là những gì tôi đã kết thúc với cùng một điểm trong dự án của tôi và tôi nhận thấy rằng truy cập thuộc tính startTime luôn trả về 0, ngay cả khi thuộc tính dấu thời gian được đặt thành dấu thời gian chính xác.
Dường như đã thiết lập các getter của StartTime để một tài sản (timestamp) đang tồn tại, nó không được chuyển tiếp giá trị của dấu thời gian khi tôi làm:
event.startTime => 0
event.timestamp => 1340920893
Tất cả những là timestamps bằng cách này.
Chỉ cần một lời nhắc, tôi biết điều trên đã xảy ra trong dự án của tôi nhưng tôi không hiểu tại sao việc truy cập startTime không chuyển tiếp lên thuộc tính dấu thời gian.
CẬP NHẬT
Thực hiện tôi đang synthesising tất cả các thuộc tính:
@synthesize timestamp, endTime, startTime;
Vui lòng kiểm tra một đối tượng ví dụ để sử dụng thể hiện này tại ý chính của tôi trên GitHub: https://gist.github.com/3013951
Lỗi là gì? Với 'getter'? –
Thực ra, câu trả lời của tôi là sai. Việc bạn có nhiều thuộc tính được liên kết với cùng một bộ chọn không quan trọng. Tôi muốn nói rằng không có vấn đề với điều này ... –
@ RichardJ.RossIII Tôi chỉ chạy thử nghiệm của tôi trong XCode mới nhất trong một dự án ARC. Có thể đây là một sự thay đổi ở Clang tại một thời điểm nào đó. – Joe