2013-08-23 28 views
0

我正在開發處理產品的iOS應用程序。這些產品顯然可以有尺寸和顏色(例如衣服)。 現在我需要一個良好的數據結構來存儲當前產品的可用顏色和尺寸(一次只能使用一種產品)。價格也是數據結構的一部分,因爲每種顏色大小的組合可能具有不同的價格,以及具有指定大小的產品圖像的URL。用於存儲產品尺寸和顏色的最佳iOS數據結構

我想過一個二維數組(即NSArray的NSArrays)的第一維顏色和第二個大小和單元格的內容是價格和URL,但然後有一些不便之處,當產品只有尺寸沒有顏色,反之亦然。

是否還有其他更好的數據結構可以滿足我的需求,或者我的選擇是最好的?

謝謝!

回答

0

您應該構建自己的具有圖層的數據結構。例如:

@interface Variant : NSObject 
@property (nonatomic, strong) UIColor *color; 
@property (nonatomic) CGFloat price; 
@property (nonatomic, strong) NSString *size; // might want a better structure to hold this 
@end 

@interface Product : NSObject 
@property (nonatomic, strong) NSString *title; 
@property (nonatomic, strong) NSArray *variants; // Is an array of Variant's 
@end 

如果您只是將數組嵌套到數組中,您就可以獲得面向對象編程的結構和好處。

+0

這是正確的,但然後沒有方便的方法來告訴哪些顏色可用於哪些尺寸,就像在矩陣中一樣...... –

+0

當然有。您可以在Product類中添加一個方法,以詢問它具有特定大小的顏色,然後枚舉Variant對象,將匹配添加到NSMutableArray中,然後返回匹配的值。它的大小不是[@「small」],但是對於其他開發人員來說,閱讀起來更容易,並且更容易理解正在發生的事情。 –

相關問題