我是iOS开发的新手。

我有一个类似这样的元素的NSArray1(parent array):

( (name1,url-x,logo-x), (name2,url2,logo2),(name3,url-y, logo-y) )

NSArray2(child array)的元素,如下所示:
( (name1,des1,time1), (name1,des2,time2), (name1,des3, time3), (name2,des4,time4), (name2,des5,time5), (name2, des6,time6), (name3,des7,time7), (name3,des8,time8), (name3, des9,time9) )

我想像这样将所有相对的NSArray2(child array)元素放入NSArry1(Parent array)中:
( (name1,url-x,logo-x,des1,time1,des2,time2,des3, time3), (name2, url2, logo2, des4, time4, des5, time5, des6, time6),  ... )

我该怎么办?

最佳答案

重构您的代码。使用对象而不是嵌套数组可能会更好。

例:

@interface Object1 : NSObject
@property (nonatomic) NSString *name;
@property (nonatomic) NSArray <Object2 *> *objects2; // if you use Xcode 7
// @property (nonatomic) NSArray *objects2; // if you use earlier Xcode // array of Object2
@end

@implementation Object1
@end

还有另一类:
@interface Object2 : NSObject
@property (nonatomic) NSUInteger des;
@property (nonatomic) NSDate time;
@end

@implementation Object2
@end

这样,您可以为给定的名称保留尽可能多的des /时间对,这对于其他开发人员来说更易读,并且肯定会导致更少的错误,崩溃和错误。

在以后的代码中,您只需保留一个Object1数组。

09-29 21:55