xcode 4.2에서 샘플 프로젝트를 만들고 새로운 프로젝트가 ARC로 설정되었음을 알았습니다.ARC 메소드 모범 사례에서 객체 반환하기 (메모리 누수 경고 받기)
다음과 같은 방법이 있습니다. 이전에는 메서드에서 셀을 자동으로 가져와 호출자의 테이블 뷰에서 셀을 유지하도록했습니다. ARC와 함께, autoreleasing이
- (UITableViewCell*) getCellForIndex:(int)index {
UITableViewCell *cell =
[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
if (index == 0)
cell.textLabel.text = profileToUse.name;
if (index == 1)
cell.textLabel.text = profileToUse.sex;
if (index == 2)
cell.textLabel.text = profileToUse.city;
return cell;
}
내가 위의 코드에 대한 분석 도구를 실행하는 경우, 가능하지 않을 것, 그것은 대상 '셀'의 메모리 누수의 가능성이 있음을 말한다.
분석 경고가 사라지도록하려면 위의 내용을 어떻게 ARC를 사용하여 작성해야합니까? 내가 도대체 뭘 잘못하고있는 겁니까?
감사합니다.
이 예제는 가지고있는 cellcreator 클래스의 단순화 된 버전입니다. 동적으로 다른 셀 유형 (레이블 + tetfield, label + label (datepicker 호출 용))을 추가해야하고 한 장소에서 여러 클래스에서이 작업을 수행해야합니다. –
와우! 따라서 ARC를 사용하려면 완전히 새로운 속성 및 태그 집합에 대해 알아야하며 선언을 통해 사용자의 의도에 명시해야합니다. 수동으로 메모리를 관리하는 것과 비교하여 실제로 개발 속도가 빨라 집니까?이 속성 목록이 있습니까? –
나는 속성을 주석 처리하고 메소드 'newCellAtIndex'의 이름을 변경했으며 심지어 경고를 없앴습니다. 따라서 이름을 지정하면이를 수정할 수도 있습니다. –