Как я могу перезагрузить свой стол из другого класса? - PullRequest
1 голос
/ 01 марта 2012

Я пытаюсь перезагрузить свой стол из другого класса. Но, похоже, я не могу.

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...
cell.textLabel.text=@"mytext";

    return cell;
}

and myclass2.m
`(NSDate*) dateSelected{

    CalendarViewController *cal1=[[CalendarViewController 

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


}

Я не знаю, как я могу решить это. Кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 01 марта 2012

Используйте одноэлементный или статический метод (+) .

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

и вызовите его, используя [ClassName DoSomethingWithTable]

0 голосов
/ 01 марта 2012

Если вы объявили iVar вместо использования @property и @synthesize, вы должны создать геттеры и сеттеры самостоятельно.

Вместо UITableView *tablo; в заголовке, сделайте это вместо:

@interface CalendarViewController : UIViewController

@property(nonatomic, strong)UITableView *tablo;

@end

Затем в файле реализации:

@synthesize tablo = _tablo;

Тогда вы сможете получить доступ к cal1.tablo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...