我有下面的示例代碼。iOS 10 while(YES)never break
- (void)method1
{
breakFlag = NO;
[self performSelectorInBackground:@selector(method2) withObject:nil];
while (YES) {
if (breakFlag) {
break;
}
}
NSLog(@"End method1");
}
- (void)method2
{
for (int i = 0; i < 10000; i++) {
NSLog(@"value of i; %d", i);
}
breakFlag = YES;
NSLog(@"End method2");
}
我叫方法1從viewDidAppear
與
[self performSelectorInBackground:@selector(method1) withObject:nil];
breakFlag是可變的實例。
爲什麼在method1中永遠不會被破壞?
你看到'method2'的所有'NSLog'語句嗎? – rmaddy
這是某種測試代碼嗎?你當然不希望這樣的真實代碼。 – rmaddy
您是否在調試器中運行過它? – clemens