我有一個具有兩個自定義類(車輛&服務記錄)的應用程序。當車輛被創建時,它被添加到表格視圖中,並且當選擇該單元格時,車輛作爲屬性被傳遞以查看駐留在標籤欄控制器中的控制器。其中一個選項卡是將具有服務記錄的表格視圖。要創建記錄,請選擇一個打開另一個視圖控制器的酒吧按鈕項目,以在其中添加記錄。將對象添加到自定義對象屬性的數組
Vehicle.h
@property (nonatomic, copy) NSMutableArray *serviceRecordsArray;
Vehicle.m初始化
self.serviceRecordsArray = [[NSMutableArray alloc] init];
FirstTableViewController prepareForSegue
TabbarViewController *tabController = segue.destinationViewController;
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
self.rowSelected = [indexPath row];
tabController.vehicle = [self.vehicleArray objectAtIndex:self.rowSelected];
tabController.vehicleAtIndex = self.rowSelected;
tabController.vehicleArray = self.vehicleArray;
TabbarViewController.h
@property Vehicle *vehicle;
@property (nonatomic) NSInteger vehicleAtIndex;
@property (nonatomic) NSMutableArray *vehicleArray;
@property (nonatomic, strong) ProfileViewController *profileVC;
@property (nonatomic, strong) ServiceTableViewController *serviceTableVC;
TabbarViewController viewDidLoad中
UINavigationController *navController = self.viewControllers[0];
self.profileVC = [[navController viewControllers] objectAtIndex:0];
self.profileVC.vehicle = self.vehicle;
self.profileVC.vehicleAtIndex = self.vehicleAtIndex;
self.profileVC.vehicleArray = self.vehicleArray;
UINavigationController *navController2 = self.viewControllers[1];
self.serviceTableVC = [[navController2 viewControllers] objectAtIndex:0];
self.serviceTableVC.vehicle = self.vehicle;
self.serviceTableVC.vehicleAtIndex = self.vehicleAtIndex;
self.serviceTableVC.vehicleArray = self.vehicleArray;
profileVC和serviceTablevc.h
@property Vehicle *vehicle;
@property (nonatomic) NSInteger vehicleAtIndex;
@property (nonatomic) NSMutableArray *vehicleArray;
AddRecordViewController.h
@property Vehicle *vehicle;
AddRecordViewController.m prepareForSegue
Service *serviceRecord = [[Service alloc] init];
serviceRecord.serviceType = self.serviceTypeTextfield.text;
serviceRecord.serviceDescription = self.serviceDescriptionTextfield.text;
[self.vehicle.serviceRecordsArray addObject:serviceRecord];
serviceRecordsArray是我的車輛類中的一個可變數組,我希望在將車輛保存到文件系統之前放置記錄。問題在於它一直沒有用,因爲我沒有初始化車輛。我無法初始化它,因爲每次添加記錄時都需要添加到它。如何在車輛類別中添加陣列,並在車輛作爲屬性傳遞時添加到陣列中。
你是什麼意思?「我無法初始化它,因爲我需要能夠添加到它「?如果您不初始化它,該對象不存在並且添加到該對象是不可能的。 –
我可以在對象的初始化程序中初始化它,但是當車輛作爲屬性傳遞時,數組不再被初始化。 – KFP
在這種情況下,傳遞方式可能有問題。代碼是什麼樣的? –