我想从我从表视图中创建的类中获取一个变量。基本上我想要这样做是告诉其他控制器哪一行被选中,所以这是我试图做的。Objective C访问其他类的变量?
表视图类.h文件中:
@property(nonatomic) NSInteger itemId;
-(NSInteger)itemId;
然后,我会作出这样的设置方法和获取变量表视图 类的.m文件(我合成,并做了所有的东西,我只是显示你的方法)
-(NSInteger)itemId {
return self.itemId;
}
而且现在的表单元格选择的方法...
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)
indexPath {
NSUInteger row = [indexPath row];
self.itemId = row;
//segue stuff (if you want me to include this just let me know)
}
这就是所有该类现在,我需要 视图控制器类的.h该值类正在通过赛格瑞
@property (nonatomic) NSInteger itemId;
视图控制器类的.m
#import "TableViewController.h"
//Skip a few things
@synthesize itemId;
//skip a few things
-(void)viewDidLoad {
TableViewController *tvc = [[TableViewController alloc] init];
itemId = [tvc itemId];
NSLog(@"%i", itemId);
推一些原因这不起作用...当我打印出“didselectrow”方法中的“itemId”时,它会返回正确的数字,但是当我尝试在另一个类中打印出来时,它只会给我'0' 任何想法? 如果有什么我遗漏了的,你想在我的代码中看到,我会非常乐意写出来:)我只是想通过减少代码来节省时间和空间。 在此先感谢!
编辑: 我找到了一个可能的解决方案,但它涉及到使用委托。我确信有这样做的更好的方法,所以如果你有任何想法,请让我知道。
你曾经调用过你的表视图类的'itemId' getter吗?肯定会导致无限循环;你应该把它改成'return itemId'。 – yuji 2012-03-01 08:24:36