我有FirstViewController
和SecondTableViewController
。在SecondTableViewController.m
中,我在cellForRow...
方法中创建了一个单元格,其中cell.textLabel.text
是来自NSInteger属性(" count
")的字符串SecondTableViewController
。
我想在FirstViewController
中添加一个按钮来增加count
的值。
我尝试制作FirstViewController
的属性然后使用它:
@property SecondTableViewController *viewController;
和
- (IBAction)buttonTouched:(id)sender {
self.viewController.count++;
[self.viewController.tableView reloadData];
}
但这种方式不起作用。 count
仍然是零的原始值。我还在viewWillAppear
中重新加载了表格,但仍然没有。我怎么能这样做?
答案 0 :(得分:0)
用作属性的计数可能是您出错的地方,因为count是一个返回基础框架中找到的数组中对象数的方法。还要记住,如果要将整数存储到字符串对象中,请尝试以此格式存储它。
cell.textlabel.text = [NSString stringWithFormat: @"%i", count];
希望这有帮助
答案 1 :(得分:0)
修改强>
查看这两个图像并实现类似的逻辑并获得解决方案。
-----新编辑结束-----
<强> OLD 强>
我认为您尚未为其SecondTableViewController
方法中的self.viewController
引用分配和分配FirstViewController
的{{1}}内存,即
viewDidLoad
并在执行按钮点按后将相同的引用推送到-(void) viewDidLoad //In FirstViewController
{
self.viewController = [[SecondTableViewController alloc] init];
}
堆栈,以增加navigationController
count
变量的计数。
如果您不清楚,请发表评论。
答案 2 :(得分:0)
尝试以下
firstViewController.h
@interface DMFirstViewController : UIViewController
@property (nonatomic, strong) DMSecondViewController * secondController;
- (IBAction)buttonPressed:(id)sender;
@end
firstViewController.m
- (IBAction)buttonPressed:(id)sender
{
++self.secondController.count;
[self.navigationController pushViewController:self.secondController animated:YES];
}
secondViewController.h
@property (nonatomic) int count;
secondViewController.m
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"%d", self.count);
}