텍스트 필드가 채워진 테이블 셀을 만들려고합니다. 그러나 텍스트 필드의 수는 고정 된 금액이 아닙니다. 나는 배열을 테이블 셀로 쏘아서 나머지 부분을 그곳에서 처리 할 것이라고 생각했습니다.iOS : 배열을 추가하여 동적 셀 만들기
그러나 이것을 수행하는 방법을 알아낼 수 없습니다 ... 이상적으로는 UITableViewCell
에 - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
의 필요한 데이터가있는 배열에 액세스 할 수 있습니다. 그런 다음 필요한만큼의 텍스트 필드를 반복하여 할당하십시오.
셀에 myArray
속성을 추가 한 다음 위 방법에서 alloc init
을했지만 여전히 내보기 컨트롤러에서 액세스 할 수 없습니다. 예 : cell.myArray = ...
어떻게하면됩니까? 내가해야 할 더 좋은 방법이 있니? 이것은 단지 마음에 오는 첫 번째 방법입니다. 어떤 도움을 주셔서 감사합니다, 얘들 아.
EDIT (거친 예) :
//MyCell.h
@interface ITDContactDetailsCell : UITableViewCell
@property (strong, nonatomic) NSMutableArray *myArray;
@end
//MyCell.m
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
_myArray = [[NSMutableArray alloc]init];
//Do some stuff with array (like add UITextViews)
}
}
//MyViewController.m
- (UITableViewCell*)tableView:(UITableView *)table cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *cellIdentifier = @"ContactDetails4LineCell";
MyCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
//This doesn't even register
cell.myArray = [NSMutableArray arrayWithObjects: @"a", @"b", nil];
}
할당 된 위치는 어디에서 표시 할 수 있습니까? 할당 후 해당 배열에 액세스 할 수있는 위치를 표시 할 수 있습니까? – Mani
나는 방금 예를 썼다. 모든 가져 오기가 정확하며 UIView와 같은 셀의 다른 항목에 액세스 할 수 있습니다. 그런 다음 다시 addSubview를 수행합니다. 배열이나 비슷한 버전이있는 경우에는 그렇지 않습니다. –
나는 당신이 올바른 길에 있다고 생각합니다. 그러나 배열은 UI 요소가 아니라 메모리 내 구조에 불과하다는 것을 알고 있습니까? 사용자가 셀을 볼 수 있도록 배열을 사용하여 사용자 정의 셀에 달려 있습니다. 배열의 각 문자열에 대한 UILabel을 만들고이 레이블을 하위 뷰로 추가합니다. – danh