ios - iOS TableView는 모든 셀에 동일한 개체를 표시합니다.

기사 출처 ios objective-c nsmutablearray uitableview

나는 이상한 문제가 있습니다. 연락처를 표시하기 위해 매우 기본적인 테이블보기를 설정하고 있으며 아래와 같이 tabelviewcontroller가 있습니다 (관련 부분을 모두 포함하려고했습니다).하지만 어떤 이유로 앱을 실행할 때 동일한 데이터가 있습니다 레이블이 각 테이블 셀에 나타납니다 (7 개 모두). 누군가 내가 할 수없는 오류를 볼 수 있습니까? 고마워요

다음 코드는 모두 tableviewcontroller.m에서 가져온 것입니다.
보기에 내 배열이로드되었습니다.

- (void)viewDidLoad
{
[super viewDidLoad];

// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;

// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;

self.contacts = [NSMutableArray arrayWithCapacity:10];
Contact *contact = [[Contact alloc] init];
contact.name = @"1";
[self.contacts addObject:contact];
contact.name = @"2";
[self.contacts addObject:contact];
contact.name = @"3";
[self.contacts addObject:contact];
contact.name = @"4";
[self.contacts addObject:contact];
contact.name = @"5";
[self.contacts addObject:contact];
contact.name = @"6";
[self.contacts addObject:contact];
contact.name = @"7";
[self.contacts addObject:contact];
}


섹션이 1 개 있습니다.

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}


내 배열에 행 수가 있습니다.

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return [self.contacts count];
}


여기에 내 세포를 만듭니다.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ContactTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ContactCell"];
Contact *contact = [self.contacts objectAtIndex:[indexPath row]];
cell.contactNameLabel.text = contact.name;
return cell;
}


그래서 왜 모든 테이블 셀 레이블이 "7"인지 잘 모르겠습니다.
미리 감사드립니다
viewDidLoad에서

- (void)viewDidLoad {

     self.contacts = [NSMutableArray arrayWithCapacity:10];
     Contact *contact = [[Contact alloc] init];
     contact.name = @"1";
     [self.contacts addObject:contact];

     //Create new instance of Contact
     contact = [[Contact alloc] init];
     contact.name = @"2";
     [self.contacts addObject:contact];

     //Add objects same in way
}


새 개체 [[Contact alloc] init]를 만들지 않은 경우 동일한 개체를 변경 한 것입니다.

이 질문에 대해 Stack Overflow에서 비슷한 토론을 찾았습니다: https://stackoverflow.com/questions/23820833/

관련 기사
ios - IOS UITableViewCells 모두 첫 번째 셀에서 뒤죽박죽, Iphone5S 장치 만 해당, 64 비트 시뮬레이터
ios - XAMARIN의 UIScrollView에서 UIView 제거
ios - 사용되지 않는 AudioSessionSetProperty 대체
ios - iAd에 광고가 표시되지 않음
ios - UISearchDisplayDelegate 메서드가 호출되지 않았습니다.
ios - Parse.com 저장 이미지 IOS
ios - NSException 유형의 포착되지 않은 예외로 인해로드 종료시 앱 충돌
ios - iOS에서 페어링 된 Bluetooth 장치를 제거하려면 어떻게합니까?
ios - Windows 8에 Xcode를 설치하는 방법은 무엇입니까? [복제]
ios - iOS7 : 백그라운드 작업 ( "myapp"에 허용 된 시간을 초과하는 활성 어설 션이 있음)