我有NSMutableArrary
,它有扑克牌的形象,如:
我使用
对其进行颜色排序[CopyArraryForShorting sortUsingSelector:@selector(caseInsensitiveCompare:)];
这条线,但是我没有将它编号为Wile。所以请告诉我如何对它进行排序。
arrayPlayerCard=[NSArray arrayWithObjects:[UIImage imageNamed:@"01.png"],
[UIImage imageNamed:@"02.png"],
[UIImage imageNamed:@"03.png"],
[UIImage imageNamed:@"04.png"],
[UIImage imageNamed:@"05.png"],
[UIImage imageNamed:@"06.png"],
[UIImage imageNamed:@"07.png"],
[UIImage imageNamed:@"08.png"],................................................,nil];
答案 0 :(得分:2)
我会创建一个自定义类。类似的东西:
typedef enum {
CardSuitSpade,
CardSuitHeart,
CardSuitClub,
CardSuitDiamonds
}
@interface Card : NSObject {
CardSuit _suit;
NSUInteger _value;
}
- (id)initWithSuit:(CardSuit)suit andValue:(NSUInteger)value;
此类的实现将执行以下操作:
initWithSuit:andValue:
初始化程序然后你可以拥有一张充满卡片的NSArray并轻松排序。你也可以创建方法来洗牌,等等。创造你的纸牌游戏。
答案 1 :(得分:0)
创建自定义类,或将数据放入NSDictionary中。您无法对图像(在其名称上)进行排序,但您可以对字符串进行排序。
arrayPlayerCard=[NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:@"01", @"name", [UIImage imageNamed:@"01.png"], @"image", nil], ...
然后使用NSSortDescriptor进行排序。