NSMutableArray的问题

时间:2011-06-26 17:03:42

标签: iphone objective-c cocoa-touch nsmutablearray

我声明了一个NSMutable数组并为其分配了一些值。

.h
NSMutableArray *imageDetailsFromCategory;

@property (nonatomic, retain) NSMutableArray *imageDetailsFromCategory;

.m
@synthesise imageDetailsFromCategory

in ViewDidLoad:

imageDetailsFromCategory = [[NSMutableArray alloc]init];

//assigning object to Array..working fine.showing two images.
imageDetailsFromCategory = [self  getImageDetailsFromCategory:generatedString];

现在我的应用正在加载...我正在使用数组进行一些UI更改。但是我想在另一个按钮上传递这个数组点击另一个类。但是当触发click事件时,数组会在我声明arry的同一个类中显示0x76779e0"{(int)$VAR Count}。单击按钮后,我无法获得数组计数。

任何人都可以告诉我如何访问我的阵列。有什么问题?

2 个答案:

答案 0 :(得分:2)

方法[self getImageDetailsFromCategory:generatedString];我认为会返回一个autoreleased数组。尝试使用适当的设置器来保留它,例如

self.imageDetailsFromCategory = [self getImageDetailsFromCategory:generatedString];

答案 1 :(得分:0)

您正在覆盖您在第二行第一行中分配的imageDetailsFromCategory变量。

所以imageDetailsFromCategory = [[NSMutableArray alloc] init]创建了一个可变数组......但是imageDetailsFromCategory = [self getImageDetailsFromCategory:generatedString];用一个全新的对象替换了以前分配的可变数组。

这就好像你int i=5;然后i = [self someMethod];:价值5会丢失。