Objective C:成员变量和数组

Posted

技术标签:

【中文标题】Objective C:成员变量和数组【英文标题】:Objective C: member variables and arrays 【发布时间】:2011-08-31 07:05:31 【问题描述】:

我有这个变量(整数和双数组)

.h-文件

@interface MyCLass : NSObject

 int myInt;
double paramStack[100];


@property (nonatomic, assign) int myInt;
//@property (nonatomic, assign) double paramStack; //<- ?

.m-文件

@synthesise myInt;
//@synthesize paramStack; //<- ?

我希望其他类可以通过属性访问 int 和双数组变量。 对于 int-var。它看起来不错,但数组在 .m-file (@synthsize) 和 h.file (@property (nonatomic, assign) double paramStack) 处引发错误。

我该如何定义 “@property(非原子,分配)双参数堆栈;”作为一个双数组?

谢谢

【问题讨论】:

【参考方案1】:

用指针创建属性:

@property(nonatomic, assign) double *paramStack;

你可以这样使用它:

NSLog(@"%f", self.paramStack[20]);

这主要是因为不能返回数组,但是可以返回指针。 IE。这个 getter 是不可能的,这就是为什么你不能创建一个数组属性:

- (double[100])paramStack;

【讨论】:

以上是关于Objective C:成员变量和数组的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C类成员变量深度剖析

Objective-C——属性与成员变量辨析

Objective-C之成魔之路8-訪问成员变量和属性

Objective-C中的@property和@synthesize用法

runtime第二部分成员变量和属性

iOS 开发:成员变量(属性,实例变量)的相关知识