如何将返回的NSMutableArray从方法传递到NSMutableArray

时间:2013-04-08 19:59:02

标签: objective-c nsmutablearray nsobject

我想知道如何从NSObjectClass调用一个返回NSMutableArray的方法,并将返回的MutableArray保存到调用类的NSMutableArray中。

实际上这就是它的外观

NSObject类具有返回值

的方法
- (NSMutableArray *)myMethod {
  // do some stuff

  return myMutableArray
}

调用此方法的类会占用所有初始化,因此我可以使用myMethod方法,但我不确定的是如何将myMutableArray返回到此类中的MutableArray ...

就像是

TheNameOfTheNSObjectClass *myObjClass = [[TheNameOfTheObjectClass alloc] init];
anotherMutableArray = [myObjClass myMethod];

因为那是我现在正在尝试的,而且我正在收到警告

从'TheNameOfTheNSObjectClass *'

分配给'NSMutableArray * __ strong'的指针类型不兼容

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

如果您在名为Baginator的课程中有如下方法:

- (NSMutableArray *) mutableDoggyBags;

然后你要打电话给那个方法:

Baginator *b = [Baginator new];
NSMutableArray *bags;

bags = [b mutableDoggyBags];

解析这个问题,听起来像mutableDoggyBags的等价物被声明为返回一个可变数组以外的东西。

具体来说,如果这一行在作业上产生错误:

anotherMutableArray = [myObjClass myMethod]; 

然后,必须满足以下条件:

• `myMethod` is not returning the same type as the type of `anotherMutableArray`.

在您的情况下,听起来myMethod被声明为返回TheNameOfTheNSObjectClass的实例。即:

- (TheNameOfTheNSObjectClass*) myMethod;