У меня есть массив (элементы) объекты пользовательского класса (CatalogItem), каждый из CatalogItem имеет различные свойства один из которых является освоение называется заголовокОбновление массива объектов пользовательского класса из второго массива
Я пытаюсь обновить this catalogItem.caption в каждом каталоге. Элемент в массиве элементов из nsstrings во втором массиве (tempCaption)
Я знаю, чтобы проходить через массивы, но я не могу получить синтаксис правильно, потому что я, кажется, каждый цикл catalogItem.caption проходит через каждую nsstring в массиве tempCaption. Таким образом, он повторяется как 49 раз, а не 7. catalogItem.caption все в конечном итоге является последним элементом массива tempCaption.
ViewController.m
-(void)parseUpdateCaptions
{
NSMutableArray *tempCaptions = [NSMutableArray array];
//get server objects
PFQuery *query = [PFQuery queryWithClassName:@"UserPhoto"];
NSArray* parseArray = [query findObjects];
//fast enum and grab strings and put into tempCaption array
for (PFObject *parseObject in parseArray) {
[tempCaptions addObject:[parseObject objectForKey:@"caption"]];
}
//fast enum through each array and put the capString into the catalogItem.caption slot
//this iterates too much, putting each string into each class object 7 times instead of just putting the nsstring at index 0 in the temCaption array into the catalogItem.caption at index 0, etc. (7 catalogItem objects in total in items array, and 7 nsstrings in tempCaption array)
for (catalogItem in items) {
for (NSString *capString in tempCaptions) {
catalogItem.caption = capString;
DLog(@"catalog: %@",catalogItem.caption);
}
}
}
при необходимости - класс объекта header.h
#import <Foundation/Foundation.h>
@interface BBCatalogClass : NSObject
@property (nonatomic, strong) NSData *image;
@property (nonatomic, strong) NSData *carouselImage;
@property (nonatomic, strong) NSString *objectID;
@property (nonatomic, strong) NSString *caption;
@end
Этот метод работал, за исключением того, что мне пришлось изменить [array objectatindex: i] .caption to catalogItem = [items objectAtIndex: i]; catalogItem.caption = [tempCaptions objectAtIndex: i]; – BigB
Прохладный, ожидаемый. Я обновил ответ, чтобы любой, кто наткнулся на это, увидит это ясно. –