配列にオブジェクトを追加しようとしています。私が具体的にやろうとしているのは、ページに収まるアイテムの数を計算し、それらのアイテムをitemsOnAPageArrayに追加し、それをpagesArrayに追加して、後でこの情報を使用することです。だから私のコードは:
NSMutableArray *pagesArray = [[NSMutableArray alloc] init];
NSMutableArray *itemsOnAPage = [[NSMutableArray alloc] init];
for (NSUInteger i = 0; i < [self.textObjects count]; i++) {
TextObject *t = [self.textObjects objectAtIndex:i];
width = MAX(width, t.size.width);
// Fits on a page, add the object, update the size
if (height + t.size.height < kReportPDFDefaultHeight) {
[itemsOnAPage addObject:t];
height += t.size.height;
}
// Doesn't fit on a page, add the items to the page
else {
[pagesArray addObject:itemsOnAPage];
[pagesArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"obj before: %@", [obj description]);
}];
[itemsOnAPage removeAllObjects];
[pagesArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"obj after: %@", [obj description]);
}];
}
}
ただし、新しいページを開始するときに、最初の配列をクリアして、2番目のページにオブジェクトを追加し始めたいと思います。しかし、配列をクリアすると、pagesArrayは空になります。どうすればこれを回避できますか?ありがとう!