0
我在玩我的應用程序,並且我非常快速地切換UISwitch(誰能抗拒?)。所以,我把它切換得非常快10-15次,這個數組應該包含來自表格視圖單元格的數據,我有我的開關,要麼有相同單元格的多餘副本,要麼只有一個副本(正確的大小寫),或者根本沒有數據。該應用程序工作正常,如果它以正常速度切換。UISwitch快速切換多次
我很確定這種情況不會真的發生在我的用戶身上,但我仍然好奇它爲什麼會發生。
感謝, Teja公司
編輯:添加代碼。每次切換開關時都會調用此方法。
-(void)saveOptionChanged:(id) sender
{
UISwitch *sw = (UISwitch *) sender;
//int tag = current.tag;
BOOL status = (BOOL) [sw isOn];
NSInteger tag = sw.tag;
NSInteger row1 = tag%1000;
NSInteger section1 = (tag - row1)/1000;
DiagDetails *temp = [preferences getDiagElementAt:section1 row:row1];
temp.ICD9Code= [temp.ICD9Code stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
temp.ICD9Desc= [temp.ICD9Desc stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(@"Adding %@ - %@",temp.ICD9Code, temp.ICD9Desc);
NSLog(@"tag = %ld, row = %ld, section = %ld",tag,row1,section1);
if(status) {
BOOL returnVal = YES;
returnVal = [currentPatient addICD9Code:temp];
if(!returnVal) {
UIAlertView *error = [[UIAlertView alloc] initWithTitle:@"Diagnosis add error" message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[error show];
[error release];
[sw setOn:NO];
}
}
else {
DiagDetails *temp = [preferences getDiagElementAt:section1 row:row1];
[currentPatient removeICD9Code:temp.ICD9Code];
}
}
如果沒有看到代碼就無法判斷......交換機做了什麼? – prendio2 2010-04-21 19:22:53