首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组有10个零对象?

数组有10个零对象?
EN

Stack Overflow用户
提问于 2015-07-08 06:08:26
回答 3查看 145关注 0票数 1

我有四种类型的数组,

代码语言:javascript
复制
@property NSMutableArray *snowImageArray;
@property NSMutableArray *dogImageArray;
@property NSMutableArray *catImageArray;
@property NSMutableArray *rabbitImageArray;

这些数组存储自定义对象,如standardURL、用户名等。然后我创建了另一个名为

代码语言:javascript
复制
  @property NSMutableArray *allImageArray;

我将四个对象数组存储在allImageArray中。我想在集合视图中填充allImageArray。到目前为止,我在cellForItemAtIndexPath方法中.我像这样通过数组..。

代码语言:javascript
复制
NSArray *allImageArray = [self.allImageArray objectAtIndex:indexPath.row];
        NSLog(@"%@",allImageArray);
        for (NSMutableArray *searchDataImage in allImageArray) {
        for (ImageHelper *imageHelper in searchDataImage) {
            NSURL *url = [NSURL URLWithString:imageHelper.standardPhotoURL];
            NSData *data = [[NSData alloc]initWithContentsOfURL:url];
            UIImage *image = [UIImage imageWithData:data];
            cell.imageView.image = image;
        }
    }

现在,由于某种原因,allImageArray有10个没有任何内容的对象,它打印了10个具有@"0对象“的对象。我在allImageArray中实例化了viewDidLoad。我还检查了我的方法,并确保我只做了四次狗,雪,兔子和猫:

代码语言:javascript
复制
             [self.rabbitImageArray addObject:imageHelper]; //adds the objects to the array
             [self.allImageArray addObject:self.rabbitImageArray];
             [self.tableView reloadData]

请告诉我我做错了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-08 07:01:40

在添加对象之前尝试初始化数组:

代码语言:javascript
复制
self.snowImageArray = [NSMutableArray new];
self.dogImageArray = [NSMutableArray new];
self.catImageArray = [NSMutableArray new];
self.rabbitImageArray = [NSMutableArray  new];

self.allImageArray = [NSMutableArray new];
票数 4
EN

Stack Overflow用户

发布于 2015-07-08 07:24:16

总是为数组分配内存。

self.snowImageArray = [[NSArray alloc]init];

self.snowImageArray = [NSMutableArray new];

票数 1
EN

Stack Overflow用户

发布于 2015-07-08 22:39:02

所以所有的答案都是正确的,我已经为所有数组分配了内存。

目前,我正试图在表视图单元格中显示每个数组,而在tableview单元格中,我有一个集合视图。我的代码的问题是,我的allImagesArray中的一个数组是空的。所以我所做的是

代码语言:javascript
复制
 if (self.allImageArray.count == 4) {
        [cell.collectionView reloadData];
    }

到UITableViewCell:cellForRowAtIndexPath方法。这就确保总共有4个数组。没有一个是空的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31284751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档