0

我在一个 NSObject 类中有一个方法,我正在从另一个 ViewController 类执行,我想重新调用一个 NSMutableArray 但是我不知道如何将它传递到 ViewController 类中的变量中。

更新代码:

NSObject 类被称为 Axis

Axis.h // 在此处声明我的方法,返回类型为 NSMutableArray

- (NSMutableArray *)assignAxes:(NSArray*)axesData;

轴.m

- (NSMutableArray *)assignAxes:(NSArray*)axesData {
//..

//pass some NSDictionaries into a MutableArray called myMutableArray

return myMutableArray;
}

现在我有一个名为 FinalViewViewController 的视图控制器,我想从这个视图控制器调用 assignAxes 方法,我想将返回的 myMutableArray 放入 FinalViewViewController 中的 mutableArray 变量中,但不知道如何......我只知道如何调用该方法不将返回值传递给要使用的变量。

FinalViewViewController.m

Axis *axis = [[Axis alloc] init];
    NSMutableArray *tempGetSeriesObjArray = [[NSMutableArray alloc] init]; // create holder variable for returning mutableArray
    tempGetSeriesObjArray = [axis assignAxes:series]; // gives an error

这是我从最后一行代码中得到的错误

Incompatible pointer types assigning to 'NSMutableArray *__strong' from 'Axis *'

任何帮助,将不胜感激。

4

1 回答 1

1

在您的 NSObject 类中,首先进入您的 .h 文件并声明数组并设置属性

@interface YourNSObjectClass : NSObject {
    NSMutableArray *_myArray;
}

@property (nonatomic, retain) NSMutableArray *_myArray;

- (NSMutableArray *) getMyArray; // declare method

@end

所以现在,你必须同步你的变量并在 initMethod 中初始化它——如果你有一个自定义的 init 方法,你也必须声明它并让它在那里。

@synthesize _myArray;

- (id) init {
     if(self = [super init]) {
           _myArray = [[NSMutableArray alloc] init];
     }
     return self;
}

getter 方法也应该有效

- (NSMutableArray *) getMyArray {
    return _myArray;
}
于 2013-04-08T03:26:36.037 回答