আমি 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
, আমি এর কোথাও কোনও টিউটোরিয়াল খুঁজে পাচ্ছি না।