Có bất kỳ hạn chế nào trong việc nhanh chóng sử dụng giá trị thuộc tính mặc định thay vì đặt giá trị đó trong trình khởi tạo không?Swift: Thuộc tính mặc định so với cài đặt trong initializer
ví dụ
class Foo: UIViewController {
let value = UIRefreshControl()
}
vs
class Bar: UIViewController {
var value : UIRefreshControl!
// or using init()
override func viewDidLoad() {
self.value = UIRefreshControl()
}
}
giá trị tài sản mặc định có vẻ ngắn gọn hơn và thanh lịch, nhưng tôi không nhìn thấy chúng được sử dụng trong ví dụ mã nơi họ có thể được sử dụng.
Ah, nhưng về mặt lý thuyết nếu đó là hằng số với 'let' thì điều này sẽ không phải là mối quan tâm đúng không? Mặc dù tất nhiên 'let' với một giá trị mặc định sẽ làm cho lớp ít mở rộng hơn ... –
Bạn thực sự có thể gán lại các thuộc tính' let' được khai báo bên trong một bộ khởi tạo. Lạ nhưng có thật! –
Ngoài ra, chỉ muốn thêm rằng tôi nghĩ rằng giá trị tài sản mặc định là tuyệt vời và tôi sử dụng chúng bất cứ nơi nào có thể. Câu trả lời là nhược điểm duy nhất - có những lý do tích cực khiến chúng đáng giá trong hầu hết các trường hợp. –