我有一種情況,我創建了一個NSArray的NSManagedObjects,它們都是從CoreData實體派生的。問題是這個數組中有多個實體,但是數組中的每個實體都有我想要檢索的「name」屬性。從NSManagedObject訪問具有多種實體類型的子屬性
我來自C++的背景,如果我面臨這個問題,我會做另一個類,我想使用的屬性,並讓所有的子對象繼承自NSManagedObject,並與我喜歡的屬性類。不幸的是,我不能看到用Objective C做到這一點的一種方式,因爲它不支持多重繼承,我無法弄清楚處理像這樣的小OOP問題的範例。 :(
--- ---背景
對我怎麼樣應對的使用情況是,我想填補一個UITableView與來自不同對象的各種字符的細胞。所有的角色有一個名字,但它們都是唯一的對象類型,現在我可以做一個類型就好像這樣:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CharNameCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
CharacterWizard *wizards = (CharacterWizard*)[self.characters objectAtIndex:indexPath.row];
cell.textLabel.text = wizards.name;
return cell;
}
但是,正如你所看到的,這打破了,當我有不同類型的I「M。當然,有一個更加優雅的解決方案可以解決這個問題,但是以前的其他語言經驗在我的方式上(我想)。希望這個時間不會太長題目了。