【发布时间】:2010-10-20 13:16:02
【问题描述】:
在我的代码中,我像这样使用 initWithArray:
vendorArray = [[NSMutableArray alloc] initWithArray:resultsCore.availableVendors];
但我对 vendorArray 所做的更改似乎也适用于 restultsCore.availableVendors。
这不是我想要的。
我想用restultsCore.availableVendors 填充vendorArray,但不影响我对vendorArray 所做的更改。
是否可以在不使用 for 和 if 语句将数据对象逐个对象从 restultsCore.availableVendors 复制到 vendorArray 的情况下获得此功能?
非常感谢
-代码
编辑下面是我的编辑。
供应商是我制作的对象
@interface Vendor : NSObject
{
NSString *vendorID;
NSMutableArray *availableCars;
BOOL atAirport;
}
@property (nonatomic, copy) NSString *vendorID;
@property (nonatomic, retain) NSMutableArray *availableCars;
@property (nonatomic, assign) BOOL atAirport;
- (id)initFromVehVendorAvailsDictionary:(NSDictionary *)vehVendorAvails;
@end
你可以看到它有一个数组。
这个数组是我制作的另一个对象,叫做 Car。
@interface Car : NSObject
{ NSMutableArray *vehicleCharges; // 这些是附加功能,例如故障辅助等 NSString *rateQualifier; BOOL 需要CCInfo; NSMutableArray *费用; // 这个数组包含 3 个字典 NSMutableArray *定价覆盖; }
@property (nonatomic, retain) NSMutableArray *vehicleCharges;
@property (nonatomic, copy) NSString *rateQualifier;
@property (nonatomic, assign) BOOL needCCInfo;
@property (nonatomic, retain) NSMutableArray *fees;
@property (nonatomic, retain) NSMutableArray *pricedCoverages;
- (id) initFromVehicleDictionary:(NSDictionary *)vehicleDictionary;
@结束
Car 还有 3 个我的其他对象数组。它都是面向对象的-.-
我一直在阅读 NSCopying 并看到了一个教程。但是我仍然觉得在这里做什么感到很迷茫。
我是否需要为我的 Vendors 类、Car 类以及 car 数组中包含的其他 3 个类实现 NSCopying 协议。
Vendors 是我要复制的数组中包含的对象。那么这是我唯一需要为其实现 NSCopying 教程的课程吗?
非常感谢,抱歉问题太长了 -代码
【问题讨论】:
标签: iphone objective-c