2014-06-08 3 views
-2

각 UITableViewCell을 가진 사용자 정의 UITableViewController가 있습니다. 각각의 객체에는 체크 박스가 있습니다. 커스텀 UITableViewCell 클래스에는 체크 박스가 체크되었을 때 발생하는 메소드가있다. 나 또한 NSMutableArray UITableViewController의 속성으로 가지고 있고 확인란을 선택했을 때마다 개체를 추가하고 싶지만 다른 클래스에 액세스하는 데 문제가 있습니다. 어떤 도움을 주시겠습니까?다른 클래스에서 NSMutableArray에 객체 추가

+0

이 문제에 대한 논리를 많이 쓰고 논리를 작성한 후, [TableViewCell 액세서리의 사과 개발자 데모] (https://developer.apple.com/library/ios/samplecode/Accessory/Introduction/Intro)에서 완벽한 해결책을 찾았습니다. .html). 시도 해봐. – Pawan

+0

@pawan -이 질문은 하루에 한 번 씩 질문하고 솔루션은 사소하기 때문에 열심히 검색하면 안됩니다. –

+0

@HotLicks이 질문을 검색하지 못했습니다. ios 앱 개발자로서 경력을 시작했을 때 제 경험을 말하고있었습니다. 그 약 3 년 전, 나는이 해결책을 발견했다. – Pawan

답변

2

사용자 지정 셀 클래스가있는 경우 셀의 대리자를 만듭니다.

@class MyCustomTableViewCell; 

@protocol MyCustomCellDelegate <NSObject> 
- (void)cell:(MyCustomTableViewCell *)cell checkboxValueDidChange:(BOOL)checked; 
@end 

@interface MyCustomTableViewCell : UITableViewCell 
@property(nonatomic, weak) id <MyCustomCellDelegate> delegate; 
@end 

tableView:cellForRowAtIndexPath: 컨트롤러를 테이블보기 셀의 대리인으로 지정하십시오. 이렇게하면 콜백을 받게됩니다.

- (void)cell:(MyCustomTableViewCell *)cell checkboxValueDidChange:(BOOL)checked { 
    // get cell's index path if you need 
    if (checked) { 
     [self.myMutableArray insertObject:myObject atIndex:myIndex]; 
    } 
} 

희망이 있습니다.

관련 문제