2017-03-01 16 views
1

如何將@property (readonly) NSDate *creationDate;重構爲結構的Swift屬性?只讀屬性爲Swift中的基礎對象

struct structObject { 

    var name: String 
    var completed: Bool 
    var creationDate: NSDate 

} 

該屬性是否應該專門配置爲get屬性?在Objective-C中,代碼是:

#import <Foundation/Foundation.h> 

@interface ToDoItem : NSObject 

@property NSString *itemName; 
@property BOOL completed; 
@property (readonly) NSDate *creationDate; 

@end 
+0

'Struct對象{ 讓利名稱:字符串 VAR完成:BOOL 讓創作:日期 的init(名稱:字符串,完成:布爾= FALSE){ self.name =名稱 self.completed =完成 自我.creation = Date() } }' –

回答

1

有幾種不同的方法可以做到這一點。

如果您希望在創建時設置並且以後不更改,請使用let而不是var

如果您只希望通過對象自己的方法更改它,請使用private(set)