- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在我的代码中,我这样使用 initWithArray :
vendorArray = [[NSMutableArray alloc] initWithArray:resultsCore.availableVendors];
但是我对 vendorArray 所做的更改似乎也对 resultsCore.availableVendors 进行了更改。
这不是我想要的。
我想用 resultsCore.availableVendors 填充 vendorArray,然后让我对 vendorArray 所做的更改保持不变。
是否可以在不使用 for 和 if 语句将数据对象逐个对象地从 resultsCore.availableVendors 复制到 vendorArray 的情况下获得此功能?
非常感谢
-代码
编辑下面是我的编辑。
vendors是我做的一个对象
@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 *车辆费用;//这些是附加功能,如故障辅助等 NSString *rateQualifier; BOOL 需要CCInfo; NSMutableArray *费用;//这个数组包含 3 个字典 NSMutableArray *pricedCoverages;
@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 类和数组中包含的其他 3 个类实现 NSCopying 协议(protocol)。
Vendors 是我要复制的数组中包含的对象。那么这是我需要为其实现 NSCopying 教程的唯一类吗?
非常感谢,很抱歉问了这么长的问题-代码
最佳答案
vendorArray = [[NSMutableArray alloc] initWithArray:resultsCore.availableVendors copyItems:YES];
不要忘记在要复制的对象的类中实现 NSCopying 协议(protocol)。
关于iphone - initWithArray 似乎给出了对源数组而不是新数组的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3978226/
在我的代码中,我这样使用 initWithArray : vendorArray = [[NSMutableArray alloc] initWithArray:resultsCore.availab
Swift 新手。在 Objective-C 的 NSMutableArray 上是否有一个 Swift 等价于 initWithArray 的函数? 我在 Obj-C 中有以下代码 tempArr
这些都在我的应用程序中工作,没有任何明显的区别: 1) theArray = [[NSMutableArray alloc] initWithArray:[NSKeyedUnarchiver unar
我正在使用 Google 日历 API,但遇到两个错误。 GTMGatherInputStream.m:25:13:找到多个名为“initWithArray:”的方法 #import "GTMGath
我正在编写一个应用程序来复习拉丁语动词变形,但遇到了障碍。我创建了一个词尾数组,但是当我尝试用这些词尾初始化 NSDictionary 时,字典的 count 始终为 0。我做错了什么? 这是Blac
我正在使用 google calendar api,但出现了两个错误。 GTMGatherInputStream.m:25:13:找到多个名为“initWithArray:”的方法 #import "
我是一名优秀的程序员,十分优秀!