আমি NSCopyingদস্তাবেজগুলি পড়েছি তবে কী কী প্রয়োজন তা কীভাবে প্রয়োগ করতে হয় সে সম্পর্কে এখনও আমি খুব নিশ্চিত।
আমার ক্লাস Vendor:
@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
Vendorবর্গ বস্তু নামক একটি অ্যারে আছে Car।
আমার Carউদ্দেশ্য:
@interface Car : NSObject
{
BOOL isAvailable;
NSString *transmissionType;
NSMutableArray *vehicleCharges;
NSMutableArray *fees;
}
@property (nonatomic, assign) BOOL isAvailable;
@property (nonatomic, copy) NSString *transmissionType;
@property (nonatomic, retain) NSMutableArray *vehicleCharges;
@property (nonatomic, retain) NSMutableArray *fees;
- (id) initFromVehicleDictionary:(NSDictionary *)vehicleDictionary;
@end
সুতরাং, অবজেক্টের Vendorএকটি অ্যারে ধরেছে Car। Carঅন্যান্য কাস্টম অবজেক্টের 2 অ্যারে ধারণ করে।
Vendorএবং উভয়ই Carঅভিধান থেকে দীক্ষিত। আমি এই পদ্ধতির একটি যুক্ত করব, সেগুলি প্রাসঙ্গিক হতে পারে বা নাও পারে।
-(id)initFromVehVendorAvailsDictionary:(NSDictionary *)vehVendorAvails {
self.vendorCode = [[vehVendorAvails objectForKey:@"Vendor"]
objectForKey:@"@Code"];
self.vendorName = [[vehVendorAvails objectForKey:@"Vendor"]
objectForKey:@"@CompanyShortName"];
self.vendorDivision = [[vehVendorAvails objectForKey:@"Vendor"]
objectForKey:@"@Division"];
self.locationCode = [[[vehVendorAvails objectForKey:@"Info"]
objectForKey:@"LocationDetails"]
objectForKey:@"@Code"];
self.atAirport = [[[[vehVendorAvails objectForKey:@"Info"]
objectForKey:@"LocationDetails"]
objectForKey:@"@AtAirport"] boolValue];
self.venLocationName = [[[vehVendorAvails objectForKey:@"Info"]
objectForKey:@"LocationDetails"]
objectForKey:@"@Name"];
self.venAddress = [[[[vehVendorAvails objectForKey:@"Info"]
objectForKey:@"LocationDetails"]
objectForKey:@"Address"]
objectForKey:@"AddressLine"];
self.venCountryCode = [[[[[vehVendorAvails objectForKey:@"Info"]
objectForKey:@"LocationDetails"]
objectForKey:@"Address"]
objectForKey:@"CountryName"]
objectForKey:@"@Code"];
self.venPhone = [[[[vehVendorAvails objectForKey:@"Info"]
objectForKey:@"LocationDetails"]
objectForKey:@"Telephone"]
objectForKey:@"@PhoneNumber"];
availableCars = [[NSMutableArray alloc] init];
NSMutableArray *cars = (NSMutableArray *)[vehVendorAvails objectForKey:@"VehAvails"];
for (int i = 0; i < [cars count]; i++) {
Car *car = [[Car alloc] initFromVehicleDictionary:[cars objectAtIndex:i]];
[availableCars addObject:car];
[car release];
}
self.venLogo = [[[vehVendorAvails objectForKey:@"Info"]
objectForKey:@"TPA_Extensions"]
objectForKey:@"VendorPictureURL"];
return self;
}
তাই ভীতিজনক সমস্যার সংক্ষিপ্তসার হিসাবে।
আমার একটি অ্যারে Vendorঅবজেক্টের কপি করা দরকার । আমি বিশ্বাস করি যে আমার NSCopyingপ্রোটোকলটি চালু করা দরকার Vendor, যার অর্থ আমি এটি কার্যকর করতে হবে Carযেহেতু এস এর Vendorঅ্যারে রয়েছে Car। তার মানে আমার এটি ক্লাসগুলিতেও প্রয়োগ করা উচিত যা Carঅবজেক্টের অন্তর্ভুক্ত 2 অ্যারেতে অনুষ্ঠিত হয় ।
আমি NSCopyingপ্রোটোকল বাস্তবায়নের বিষয়ে কিছু গাইডেন্স পেতে পারলে আমি সত্যিই এটির প্রশংসা করব Vendor, আমি এর কোথাও কোনও টিউটোরিয়াল খুঁজে পাচ্ছি না।