2012-02-29 2 views
1

다른 클래스에서 테이블을 다시로드하려고합니다. 그러나 나는 할 수없는 것처럼 보인다.다른 클래스의 테이블을 어떻게 다시로드 할 수 있습니까?

myclass1.h 
@interface CalendarViewController : UIViewController <UITableViewDelegate,UITableViewDataSource> { 


UITableView *tablo; 

myclass1.m 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease]; 
    }  


// Configure the cell... 
[email protected]"mytext"; 

    return cell; 
} 

and myclass2.m 
`(NSDate*) dateSelected{ 

    CalendarViewController *cal1=[[CalendarViewController 

alloc]initWithNibName:@"CalendarViewController" bundle:nil]; 
[cal1.tablo reloadData]; 


} 

어떻게 해결할 수 있는지 잘 모르겠습니다. 누구든지 나를 도울 수 있습니까?

답변

0

@property 및 @synthesize를 사용하는 대신 iVar를 선언했다면 getters 및 setters를 직접 만들어야합니다.

대신 헤더에 UITableView *tablo; 대신 이렇게 :

구현 파일에서 다음
@interface CalendarViewController : UIViewController 

@property(nonatomic, strong)UITableView *tablo; 

@end 

:

@synthesize tablo = _tablo;

는 그런 다음 cal1.tablo

+0

사용하여 호출합니다. 오류 : 알 수없는 속성 속성 : strong을 보냈습니다. – ali10

+0

죄송합니다. ARC를 사용한다고 가정했습니다. 강한 대신에 보유를 사용하십시오. 그리고 당신 dealloc에서 그것을 릴리스되었는지 확인하십시오. – dbrajkovic

0

에 액세스 할 수 있어야합니다 싱글 톤 또는 정적 메서드 (+)을 사용하십시오.

+ (void) DoSomethingWithTable { 
    // ... 
} 

과 강한 동의를 didnt는 [ClassName DoSomethingWithTable]

관련 문제