我正在尝试从另一个类重新加载我的表。但似乎我做不到。
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];
}
我不知道如何解决这个问题。任何人都可以帮助我吗?
答案 0 :(得分:0)
如果您声明了iVar而不是使用@property和@synthesize,则必须自己创建getter和setter。
而不是标题中的UITableView *tablo;
代替:
@interface CalendarViewController : UIViewController
@property(nonatomic, strong)UITableView *tablo;
@end
然后在实现文件中:
@synthesize tablo = _tablo;
然后你应该能够访问cal1.tablo
答案 1 :(得分:0)
使用单例或静态方法(+)。
+ (void) DoSomethingWithTable {
// ...
}
并使用[ClassName DoSomethingWithTable]