[英]-[__NSArrayI objectForKeyedSubscript:]: unrecognized selector sent to instance IN xcode6 objective-c ios
[英]Bookmark page in xcode6 - Objective-C
我正在尝试为我的应用创建书签页面。 基本上,我希望能够单击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。 不知道为什么会这样。 有人有解决办法吗?
通过对象访问属性,而不是通过类名直接调用。
- (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]];
}
如果要使用类名进行访问,则必须使用静态/类方法而不是属性。
[self.tableItems addObject:[NSString self.faveURL]];
您正在使用当前代码访问类变量,但是tableItems
是实例变量。 因此,如果函数fave
在FavoriteViewController类中,则在访问实例变量时需要引用self
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.