Basic Objective C class to return an array
我对目标C不太熟悉,正在尝试一些基本概念,但遇到了一些困难。
实际上,我要做的是编写一个类,当从另一个类发送消息时返回一个数组。
返回值的类如下-
返回阶级
1 2 3 4 5 6 7 8 9 10 11 | #import <Foundation/Foundation.h> @interface ReturnClass : NSObject { } -(NSMutableArray *) getLocation ; @end |
返回阶级
1 2 3 4 5 6 7 8 9 10 | #import"ReturnClass.h" @implementation ReturnClass -(NSMutableArray *) getLocation { //do some stuff to populate array //return it return latLngArray; } @end |
然后我想将此调用到另一个实现中,以获取值
其他课程.m
1 2 3 4 5 6 7 8 9 10 11 12 | #import"ViewController.h" #import"ReturnClass.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSMutableArray *latLngArray = [[getLocation alloc] init]; } |
我很感激这可能有点不对劲,但请温柔一点,因为我正在努力学习:)
呼叫如下:
1 2 3 4 5 6 | - (void)viewDidLoad { [super viewDidLoad]; ReturnClass *retClass = [[ReturnClass alloc] init]; NSMutableArray *latLngArray = [retClass getLocation]; } |
这将提供由
此代码在每次需要数组时都会生成EDOCX1的新实例;这可能是您想要的,也可能不是,因为您不能在调用之间保持任何状态。如果您需要在
一般来说,您应该回顾一下面向对象编程的概念。尤其是,不要将类与方法混淆。
在代码中,必须先实例化一个
1 | NSMutableArray *latLngArray = [[getLocation alloc] init]; |
对于初学者来说,这一行漏掉了标记。您正在发送
1 | ReturnClass *myObject = [[ReturnClass alloc] init]; |
然后向生成的对象发送消息,如下所示:
1 | NSMutableArray *latLngArray = [myObject getLocation]; |