-1

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

实际上这就是它的外观

NSObject 类有带返回值的方法

- (NSMutableArray *)myMethod {
  // do some stuff

  return myMutableArray
}

调用此方法的类执行所有初始化,因此我可以使用 myMethod 方法,但我不确定如何将返回的 myMutableArray 转换为此类中的 MutableArray ...

是不是像

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

因为这就是我目前正在尝试的,我收到了警告

从“TheNameOfTheNSObjectClass *”分配给“NSMutableArray *__strong”的不兼容指针类型

任何帮助,将不胜感激。

4

1 回答 1

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. IE:

- (TheNameOfTheNSObjectClass*) myMethod;
于 2013-04-08T21:27:56.850 回答