2012-10-15 1 views
0

여기에 나는이 텍스트 필드의 모든 속성을 생성하고 새로 만든 필드에 할당하고사용자 지정 UITableViewCells UITextField 강하거나 약한 참조? 나는 실용적 등 uitextfields, uisegmentedcontrols와의 tableview,</p> <p>을 설정하고있어

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

if (cell == nil) { 

    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 

    //NSLog(@"creating a new %@", CellIdentifier); 

    if([CellIdentifier isEqualToString:@"ID"]) { 

     UITextField *newTextField = [[UITextField alloc] initWithFrame:CGRectMake(80, 5, 215, 34)]; 
     self.idField = newTextField; 
     [cell addSubview:self.idField]; 

    } 
} 

예를의 너는 볼 수있어.

제 질문은 (비 원자력, 강함) 또는 (비 원자력, 약함)을 사용해야합니까?

@property(nonatomic, weak) UITextField *idField; 
//Or 
@property(nonatomic, strong) UITextField *idField; 
+0

idField는 한 번에 하나의 텍스트 필드 일 수 있습니다. 가장 최근에 만든 텍스트 필드에 속성의 참조를 저장하려고합니까? 궁극적으로 무엇을 성취하려고합니까? 작성한 모든 텍스트 필드에 대한 참조를 유지하려는 의도가있는 경우이를 수행하지 않습니다. – geraldWilliam

+0

idField, upcField, Alias ​​필드, Description 필드 등이 있습니다. 텍스트 필드를 읽을 수 있도록이 작업을 수행했습니다. 즉 [self.idField.text] 현재와 같이 정상적으로 작동합니다. 난 그냥 강한 또는 약한 사용해야하는지 궁금 하군요 – Hackmodford

답변

0

이러한 텍스트 필드에 대한 멤버 변수를 만들지 말아야합니다. 두 번째 textField는 무엇이 필요합니까? 아마도 다른 셀 스타일만으로도 충분합니까? 예 : UITableViewCellStyleValue1, UITableViewCellStyleValue2 또는 UITableViewCellStyleSubtitle?

맞춤 설정이 필요한 경우 태그 (예 : tableViewCell의 행)를 지정하고 나중에 viewWithTag:을 통해 검색하십시오. 당신이 직접 액세스하려는 경우 사용자 정의 UITableViewCell 하위 클래스를 생각하십시오.

질문에 대한 직접적인 답변 : 텍스트 필드가 셀에 추가 되었기 때문에 약한 참조가 충분할 수 있습니다. 셀은 언제든지 할당 취소되지 않습니다 (재사용 될 예정이므로).

+0

실제로 이러한 종류의 셀 중 하나만 있기 때문에 실제로 재사용되지 않습니다 ... 그러나 사용자가 스크롤하면 제거됩니다. 나는 다른 textviews, segmented controls, imageviews 등으로 많은 다른 tableviewcell을 가지고있다. 그러나 나는 그들 각각에 접근 할 수 있어야한다. – Hackmodford

+0

그리고 사용자가 뒤로 스크롤하면 다시 나타납니다. 맞습니까? 그래서 재사용된다. (동일한 장소에서 동일한 내용을 위해, 그러나 아직도, 그것은 재사용된다). 의미 : 테이블이 할당 해제되기 전에 그것은 어느 시점에서든 할당 해제되지 않습니다. – calimarkus

+0

충분한 메모리가있는 경우에만 ... 때로는 (이미지를로드 할 때처럼) 이러한 셀이 실제로 할당이 해제되고 다시 만들어야합니다. 따라서 나는 다른 곳에서 그들의 내용을 저장하고 그들이 다시 만들어지면 나는 저장된 내용으로부터로드한다. 내가 뭔가를 오해하지 않는다면, 나는 너와 의견이 다르다. :) 당신은 나보다 지식이있는 것처럼 보이므로 나를 채워주세요.) – Hackmodford

관련 문제