我在NSObject类中有一个方法,我从另一个ViewController类执行,我想重新编译NSMutableArray但是我不知道如何将它传递给ViewController类中的变量。
更新代码:
NSObject类称为Axis
Axis.h //在这里声明我的方法,返回类型为NSMutableArray
- (NSMutableArray *)assignAxes:(NSArray*)axesData;
Axis.m
- (NSMutableArray *)assignAxes:(NSArray*)axesData {
//..
//pass some NSDictionaries into a MutableArray called myMutableArray
return myMutableArray;
}
现在我有一个名为FinalViewViewController的View Controller,我想从这个viewController调用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 *'
任何帮助将不胜感激。
答案 0 :(得分: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-method也应该起作用
- (NSMutableArray *) getMyArray {
return _myArray;
}