0
让我以此为序,我很少理解swift(昨天刚刚通过这个项目)。我试图在Xcode8.3.3
和Swift 3.1
和Swift 3.1
不能分配给属性:'b0'是一个只能得到的属性
中重现构建我修复了一些编译源问题和一些其他类相关的错误。我遇到了只读属性错误。
var cloudUse : F2Type32 = 0x1;
var anyCloudUse : Bool {
get {
return (cloudUse != 0) ? true : false
}
}
var iCloudUse : Bool {
get {
return cloudUse.b0
}
set(newValue) {
cloudUse.b0 = newValue //error. Cannot assign to property: 'b0' is a get-only property
}
}
var googleDriveUse : Bool {
get {
return cloudUse.b1
}
set(newValue) {
cloudUse.b1 = newValue //error. Same as above
}
}
我看着这个get-only property。但似乎无法弄清楚发生了什么。
b0
和b1
如下
extension VInt {
func maxSize() -> UIntMax { return self.asU64 }
init(_ val : Int) {
if (val > 0) {self.init(UIntMax(val)) }
else {
self.init(UIntMax(val&0x7fffffff)) } }
init(fromMax : UIntMax) { self.init(fromMax) }
init<T2 : VInt>(val : T2) { self.init(fromMax : val.asMaxSize) }
var b0 : Bool {
return ((self & 0x1) == 0) ? false : true}
var b1 : Bool {
return ((self & 0x2) == 0) ? false : true}
显示F2Type32声明 – antonsergeev88
'的typedef uint32_t的F2Type32;'@ antonsergeev88 – DJ2
看起来你需要位掩码,尝试一些更SWIFTY https://stackoverflow.com/questions/24059485/how-to-create-bitmask-in-swift – antonsergeev88