簡體   English   中英

根據其他Tableview單元格的值插入TableViewCells

[英]Inserting TableViewCells based on Values of other Tableview Cells

我正在創建一個飛行跟蹤應用程序,該應用程序是從核心數據加載的表格視圖,如果一個航班的到達機場和另一航班的離開機場相同,則需要顯示一行,並讓該表格視圖顯示時差。 對於每個航班,我都有到達時間,出發時間,到達機場和出發機場的核心數據屬性。 我不確定如何以利用這些屬性的方式加載它。 加載它們后,應該查看什么方法?

飛行都將與旅程編號相關聯,而旅程編號是另一個核心數據屬性,因此僅在相關旅程之間需要此邏輯。 例如,如果旅程1擁有從機場1到機場2的航班,並且有從機場2到機場3的航班2,那么我需要從航班1到達到航班2離開的時間。

任何幫助或指針表示贊賞。 這是我必須在viewdidappear中加載核心數據屬性的代碼

NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Device"];


NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
NSArray *sortDescriptors         = [[NSArray alloc] initWithObjects:sortDescriptor, nil];


// Set descriptors
[fetchRequest setSortDescriptors:sortDescriptors];

self.devices = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];

以下是表視圖單元格在cellForRowAtIndexPath中的顯示方式

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

// Configure the cell...
NSManagedObject *device = [self.devices objectAtIndex:indexPath.row];

[cell.textLabel setText:[NSString stringWithFormat:@"%@ %@", [device valueForKey:@"name"], [device valueForKey:@"version"]]];
[cell.detailTextLabel setText:[device valueForKey:@"company"]];

 thearray=[device valueForKey:@"name"];

使用您的旅程編號進行獲取以獲取旅程中的所有航班。 根據出發日期對航班進行排序。

現在,您可以遍歷由fetch返回的數組,並比較每對項目,以查看一個項目的目的地是否與下一個項目的目的地相同。

您現在決定要做什么很大程度上取決於您如何使用數據填充表格視圖(使用FRC)以及應如何顯示事物...如果您使用的是航班陣列,則可以添加一個新項目放入陣列,這將導致您創建其他類型的單元格。 如果您使用的是FRC,那么事情可能會很有趣。 在FRC情況下,最好不要使用額外的行,而應使用更高的單元格,其中包含有關連接時間的其他信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM