2013-10-24 5 views
-1

내부에 동적 테이블이있는 앱을 만들고 있습니다. 나는 MainviewController 내부의 테이블과 함께 작동하도록 관리했지만, 이제 막혔다. 나는 자신의 클래스에 테이블 코드를 넣으려고했다. 이상한 점은 오류가 발생하지 않는다는 것입니다. MainviewController.m :테이블 뷰가 붙어 있습니다.

CGRect frame; 
frame.origin.x = self.scrollView.frame.size.width * 0;//0 will later be i 
frame.origin.y = 0; 
frame.size.width = self.scrollView.frame.size.width; 

TellerTable *tellerTable = [[TellerTable alloc] initWithFrame:frame style:UITableViewStyleGrouped]; 

[tellerTable loadWithJsonData:JSONArray]; 
[tellerTable setDataSource:tellerTable]; 


[self.view addSubview:tellerTable]; 
[tellerTable reloadData]; 

TableTeller.m :

-(void)loadWithJsonData:(NSArray *)JA 
{ 
    self.JSONArray = JA; 
    tableview = self; 

    self.delegate = self; 
    self.dataSource = self; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    NSMutableArray *TellerItems = [JSONArray objectAtIndex:section]; 
    return TellerItems.count; 
} 

(테이블을 만들기 위해 나머지 cellForRowAtIndexPath 등) TellerTable.h

@interface TellerTable : UITableView <UITableViewDataSource, UITableViewDelegate> 
{ 
    UITableView *tableview; 
} 

@property (nonatomic, retain) IBOutlet UITableView *tableview; 
@property (nonatomic, retain) IBOutlet NSArray *JSONArray; 
    -(void)loadWithJsonData:(NSArray *)JA; 
@end 
을 이 내가하는 일입니다

이상한 것은 loadwithJSON으로 간 다음 numberOfRowsInSection을 호출하지만 그 후에는 중지됩니다. scrollview에 테이블을 추가하지 않습니다. 내가 잘못하고/잊어 버리는 것이 무엇인가?

+0

'TellerItems.count;가 0인지 확인하십시오. –

+0

'tableView : numberOfRowsInSection'이 0을 반환합니까? 그렇다면 다른 대리자 메소드가 호출되지 않습니다. – bobnoble

+0

반환하지 않음 10 – user1664803

답변

0

당신의 접근 방식을 바꾸어야한다고 생각합니다. UITableView의 하위 클래스를 만든 다음 동일 테이블에 다른 tableView 속성을 만들었습니다. 자체에 할당하면 모두 작동한다고해도 잘못 생각됩니다. 난 당신이 테이블을 사용자 정의하지 않습니다 여기에 서브 클래 싱의 사용을 참조하십시오 그래서 당신은 그것을 서브 클래 싱하는 이유는 무엇입니까?. xib 또는 스토리 보드에 tableView (끌어서 놓기)를 추가 한 다음 콘센트를 mainviewcontroller에 연결하십시오. 이 방법을 사용하여 어떻게 든 작동하게 만들 수는 있지만 errorprone, 덜 읽을 수있는 것 등

+0

pageControl에 x 테이블을 추가해야합니다. 왜 내가 그들을 역동적으로 추가하는지. – user1664803