Tôi nghi ngờ về các giao thức trong Swift về việc sử dụng var và các từ khóa {get set} .
Từ tài liệu của Apple :
Nếu một giao thức yêu cầu một thuộc tính phải có thể tải được và có thể thiết lập, thì yêu cầu thuộc tính đó không thể được đáp ứng bởi một thuộc tính được lưu trữ không đổi hoặc một thuộc tính được tính chỉ đọc. Nếu giao thức chỉ yêu cầu một thuộc tính là có thể nhận được, thì yêu cầu này có thể được đáp ứng bởi bất kỳ loại thuộc tính nào và nó hợp lệ để thuộc tính đó cũng có thể được thiết lập nếu điều này hữu ích cho mã của riêng bạn.
Các yêu cầu thuộc tính luôn được khai báo là thuộc tính biến, được đặt trước từ khóa var. Thuộc tính gettable và có thể thiết lập được biểu thị bằng cách viết {get set} sau khai báo kiểu của chúng và các thuộc tính gettable được chỉ ra bằng cách viết {get}.
Tôi không thể hiểu tại sao tôi không thể sử dụng let . Một var trong giao thức only get không chỉ là let ?
Một cái gì đó như thế này:
protocol someProtocol
{
var someProperty: String { get }
}
nó sẽ không chỉ là:
protocol someProtocol
{
let someProperty: String
}
Tôi đang thiếu một cái gì đó?