2016-09-16 56 views
1

我有3類:的UITableView與分層分類-Swift的iOS

  1. 褲子
  2. 襯衫

每個類別可以有許多不同的名稱品牌如。

1.Sneakers>耐克,阿迪達斯,銳步

2.Pants>酒糟,李維斯

3.Shirts>拉爾夫勞倫,阿伯克龍比

我的用戶類別挑選,然後他們可以添加儘可能多的名稱品牌,因爲他們想要它。在他們選擇了類別並放置他們想要的任何品牌名稱之後,我需要2個tableView(或collectionViews)。第一個tableView應顯示他們挑選的類別,第二個tableview應顯示他們在該類別中命名的品牌。

我的問題是按類別排序。我知道如何顯示他們選擇的所有名稱,但不知道名稱所屬的類別。

我遇到的問題是,如果用戶選擇襯衫類別兩次,則顯示它的tableView將顯示襯衫類別兩次,當它只顯示一次時。

我發現this來自蘋果,但它沒有顯示在Swift中的例子。

在Swift中任何類似的StackOverflow q/a都可以作爲答案。

+0

所以之後便更新類別,你說的襯衫是出了兩次,這意味着含類別的陣列,包含兩次襯衫,對不對?如果是這樣,請使用NSOrderedSet刪除重複項。希望它有幫助 – Janmenjaya

+0

@Janmenjaya我從來沒有用過它,但我會嘗試它,讓你知道。謝謝! –

+0

我已經更新了答案,檢查它看到使用NSOrederedSet,刪除重複。 – Janmenjaya

回答

1

如果您的數組包含重複的類別。 我希望它必須包含重複項,因爲您可以在表格視圖中看到重複項,所以請使用NSOrderedSet刪除重複項。

這裏爲演示代碼演示使用NSOrderedSet

目標C版的:

NSArray *category = [NSArray arrayWithObjects:@"Sneakers", @"Pants", @"Shirts",@"Pants", @"Shirts", nil]; 

NSLog(@"Before using ordered set : %@", category.description); 

// iOS 5.0 and later 
NSArray * newCategoryArray = [[NSOrderedSet orderedSetWithArray:category] array]; 

NSLog(@"After using ordered set : %@", newCategoryArray.description); 

夫特版本:

let category = ["Sneakers", "Pants", "Shirts","Pants", "Shirts"]; 
NSLog("Before using ordered set : %@", category.description); 

let newCategoryArray = NSOrderedSet(array: category).array; 

NSLog("After using ordered set : %@", newCategoryArray.description); 

輸出:

Before using ordered set : (
    Sneakers, 
    Pants, 
    Shirts, 
    Pants, 
    Shirts 
) 

After using ordered set : (
    Sneakers, 
    Pants, 
    Shirts 
) 

快樂編碼...

+0

我無法在swift中找到等效方法 –

+0

@LanceSamaria,我添加了Swift等效代碼。檢查答案並讓我知道。 – Janmenjaya

+0

@謝謝我會在幾個嘗試。我即將發佈一個更詳細的我正在尋找的解釋。我不確定您的方法是否可以使用,但我會嘗試。這裏的鏈接http://stackoverflow.com/questions/39663089/uitableview-category-array-drill-down-swift-ios –