Swift 里面该如何写这个 static BOOL isOpen = YES;
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
static BOOL isOpen = YES;
NSLog(@"%@", @(isOpen)); // 点击第一次log: YES, 点击第二次log: NO, 点击第三次log: NO
if (isOpen) {
isOpen = NO;
}
}
已找到解决方案
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
struct onceStruct { static var isOpen = true }
print(onceStruct.isOpen) // 点击第一次log: true, 点击第二次log: false, 点击第三次log: false
if onceStruct.isOpen {
onceStruct.isOpen = false
}
}