사용자가 여러 셀을 선택할 수있는 국가 목록이 포함 된 UITableView가 있습니다. 그러나 셀을 클릭하면 8 번째 셀마다 옆에 체크 표시가 나타납니다. 왜 그런 일이 벌어지고 있는지 전혀 알 수 없으며 단지 체크 표시 일뿐입니다. 8 번째 셀에 부착 된 코드는 실행되지 않으므로 시각적 인 것입니다. 도와주세요! 여기에 테이블의 didSelectRow 내 코드입니다 :체크 표시를 반복하는 UITableView
- (void)tableView:(UITableView *)tableView1 didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *selectedCell = [tableView1 cellForRowAtIndexPath:indexPath];
if ([selectedCell accessoryType] == UITableViewCellAccessoryNone) {
[selectedCell setAccessoryType:UITableViewCellAccessoryCheckmark];
int selectedRow = indexPath.row;
NSString *intString = [NSString stringWithFormat:@"%d", selectedRow];
if ([intString isEqualToString: @"0"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"AR"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-AR"];
}
}
if ([intString isEqualToString: @"1"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"AU"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-AU"];
}
}
if ([intString isEqualToString: @"2"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"BR"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-BR"];
}
}
if ([intString isEqualToString: @"3"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"CA"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-CA"];
}
}
if ([intString isEqualToString: @"4"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"CZ"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-CZ"];
}
}
if ([intString isEqualToString: @"5"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"FR"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-FR"];
}
}
if ([intString isEqualToString: @"6"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"DE"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-DE"];
}
}
if ([intString isEqualToString: @"7"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"GB"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-GB"];
}
}
if ([intString isEqualToString: @"8"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"HK"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-HK"];
}
}
if ([intString isEqualToString: @"9"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"IN"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-IN"];
}
}
if ([intString isEqualToString: @"10"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"IE"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-IE"];
}
}
if ([intString isEqualToString: @"11"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"IL"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-IL"];
}
}
if ([intString isEqualToString: @"12"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"IT"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-IT"];
}
}
if ([intString isEqualToString: @"13"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"JP"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-JP"];
}
}
if ([intString isEqualToString: @"14"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"MX"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-MX"];
}
}
if ([intString isEqualToString: @"15"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"NL"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-NL"];
}
}
if ([intString isEqualToString: @"16"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"NZ"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-NZ"];
}
}
if ([intString isEqualToString: @"17"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"PL"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-PL"];
}
}
if ([intString isEqualToString: @"18"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"RU"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-RU"];
}
}
if ([intString isEqualToString: @"19"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"ZA"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-ZA"];
}
}
if ([intString isEqualToString: @"20"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"KR"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-KR"];
}
}
if ([intString isEqualToString: @"21"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"ES"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-ES"];
}
}
if ([intString isEqualToString: @"22"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"SE"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-SE"];
}
}
if ([intString isEqualToString: @"23"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"TW"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-TW"];
}
}
if ([intString isEqualToString: @"24"]) {
NSString *countriestill = countriesselected;
if ([countriesselected length] == 0) {
countriesselected = [countriestill stringByAppendingString:@"US"];
}
else {
countriesselected = [countriestill stringByAppendingString:@"-US"];
}
}
}
else {
[selectedCell setAccessoryType:UITableViewCellAccessoryNone];
int selectedRow = indexPath.row;
NSString *intString = [NSString stringWithFormat:@"%d", selectedRow];
if ([intString isEqualToString: @"0"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-AR"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"AR-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"AR"
withString:@""];
}
if ([intString isEqualToString: @"1"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-AU"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"AU-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"AU"
withString:@""];
}
if ([intString isEqualToString: @"2"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-BR"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"BR-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"BR"
withString:@""];
}
if ([intString isEqualToString: @"3"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-CA"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"CA-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"CA"
withString:@""];
}
if ([intString isEqualToString: @"4"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-CZ"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"CZ-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"CZ"
withString:@""];
}
if ([intString isEqualToString: @"5"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-FR"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"FR-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"FR"
withString:@""];
}
if ([intString isEqualToString: @"6"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-DE"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"DE-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"DE"
withString:@""];
}
if ([intString isEqualToString: @"7"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-GB"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"GB-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"GB"
withString:@""];
}
if ([intString isEqualToString: @"8"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-HK"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"HK-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"HK"
withString:@""];
}
if ([intString isEqualToString: @"9"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-IN"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"IN-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"IN"
withString:@""];
}
if ([intString isEqualToString: @"10"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-IE"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"IE-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"IE"
withString:@""];
}
if ([intString isEqualToString: @"11"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-IL"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"IL-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"IL"
withString:@""];
}
if ([intString isEqualToString: @"12"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-IT"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"IT-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"IT"
withString:@""];
}
if ([intString isEqualToString: @"13"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-JP"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"JP-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"JP"
withString:@""];
}
if ([intString isEqualToString: @"14"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-MX"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"MX-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"MX"
withString:@""];
}
if ([intString isEqualToString: @"15"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-NL"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"NL-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"NL"
withString:@""];
}
if ([intString isEqualToString: @"16"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-NZ"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"NZ-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"NZ"
withString:@""];
}
if ([intString isEqualToString: @"17"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-PL"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"PL-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"PL"
withString:@""];
}
if ([intString isEqualToString: @"18"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-RU"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"RU-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"RU"
withString:@""];
}
if ([intString isEqualToString: @"19"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-ZA"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"ZA-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"ZA"
withString:@""];
}
if ([intString isEqualToString: @"20"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-KR"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"KR-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"KR"
withString:@""];
}
if ([intString isEqualToString: @"21"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-ES"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"ES-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"ES"
withString:@""];
}
if ([intString isEqualToString: @"22"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-SE"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"SE-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"SE"
withString:@""];
}
if ([intString isEqualToString: @"23"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-TW"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"TW-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"TW"
withString:@""];
}
if ([intString isEqualToString: @"24"]) {
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"-US"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"US-"
withString:@""];
countriesselected = [countriesselected stringByReplacingOccurrencesOfString:@"US"
withString:@""];
}
}
[tableView deselectRowAtIndexPath:indexPath animated:NO];
}
당신이 당신의 48 개 동일한 코드 조각을 리팩토링 하시겠습니까 그것은 매우 looong의 – beryllium