【问题标题】:Refrencing A NSMutableArray In A Different Class For containsObject为 containsObject 在不同的类中引用 NSMutableArray
【发布时间】:2014-03-28 06:13:21
【问题描述】:

我正在打电话DetailsViewController 尝试使用以下代码,如果,

([[FavViewController myFavsTwo] containsObject:_word])

但出现错误:不知道选择器 myFavsTwo 的类方法

FavViewController,我设置成这样:

@property (nonatomic, strong) NSMutableArray *myFavsTwo;

有什么想法吗?

【问题讨论】:

  • 您只能使用FavViewController 的对象访问property myFavsTwo。以及DetailsViewController 是如何显示的?
  • 在某些时候...但是我的 DetailsViewController 已连接到其他几个控制器——我只想向 FavViewController 添加一些内容并检查它是否还没有
  • 将 if ([[FavViewController myFavsTwo] containsObject:_word]) 替换为 if ([FavViewController.myFavsTwo containsObject:_word])。
  • @Girish 现在收到此错误:“FavViewController”类型的对象上未找到属性“myFavsTwo”
  • 先创建FavViewController对象,然后访问数组。

标签: ios objective-c nsmutablearray


【解决方案1】:

我猜你正在使用带有类名的变量myFavsTwo。您应该使用FavViewController 的实例。确保您已经创建了 getter 和 setter 方法或使用了synthesize

【讨论】:

  • +1,属性总是可以通过类的对象(实例)访问。
  • 你不需要创建 getter 或 setter 方法,或者使用@synthesize,因为如果你创建了一个属性,这些都是自动完成的。
  • 不完全关注...对不起,这一切都是新的...myFavsTwo 正在合成,所以我真的不知道错误是什么
  • @user3306356 你知道如何创建一个类的实例吗?
  • @user3306356 FavViewController *object = [[FavViewController alloc] init]。这会为您创建一个实例。顺便说一句,如果您是 ObjectiveC 的新手,我建议您在开始编码之前学习它。这将为您节省大量时间。
【解决方案2】:

[FavViewController myFavsTwo] 会像这样在 FavViewController 中调用 类方法

+ (NSMutableArray *)myFavsTwo{
   ...
}

@property (nonatomic, strong) NSMutableArray *myFavsTwo; 只会创建实例访问器方法,你可以像这样得到myFavsTwo

FavViewController *favVcInstance = [[FavViewController alloc] init];
if ([[favVcInstance myFavsTwo] containsObject:_word])

那么,你能理解为什么到目前为止会发生崩溃吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多