我正在尝试为我的应用创建书签页面。基本上,我希望能够点击我的UIViewController中的按钮,并将我当前正在查看的网站的url保存为UITableViewController中的单元格。问题是我不太确定实现它的最佳方法。
我认为这样做的方法是在我的tableviewcontroller中创建一个我在这里创建的可变数组:
#import <UIKit/UIKit.h>
@interface FavoriteViewController : UITableViewController
@property (strong, atomic) NSMutableArray *tableItems;
@end
然后我可以使用viewController中的按钮来填充数组。但是当我尝试这样的事情时:
- (IBAction)fave:(id)sender {
[FavoriteViewController.tableItems addObject:[NSString self.faveURL]];
}
我收到一条错误,即在FavoriteViewController上找不到属性tableItems。不知道为什么会这样。有人有解决方案吗?
答案 0 :(得分:0)
通过对象访问属性,而不是按类名直接调用。
- (IBAction)fave:(id)sender {
// If accessing from other class
FavoriteViewController *favVC = ------
[favVC.tableItems addObject:[NSString self.faveURL]];
}
- (IBAction)fave:(id)sender {
// If accessing from same class where you defined your variable
[self.tableItems addObject:[NSString self.faveURL]];
}
如果要使用类名访问,则必须使用静态/类方法而不是属性。
答案 1 :(得分:0)
[self.tableItems addObject:[NSString self.faveURL]];
您正在使用当前代码访问类变量,但tableItems
是一个实例变量。因此,如果函数fave
在FavoriteViewController类中,那么在访问实例变量时需要引用self
。