iOS 5.0 SDK
我有一个方法,将参数作为'类型'我定义的。让我们称之为“地方”。此类型定义如下:
typedef enum {
kBar = 0,
kRestaurant = 1,
kCafe = 2
} Places
我的方法会采用Places的参数。
根据传入的Place类型,我会将类型附加到url:
ex:http://www.domain.com/place=1
但是,url参数不能是必须为字符串的数字。
ex:http://www.domain.com/place=restaurant
我知道枚举不能是字符串所以我试图找到正确的方法。我有一个plist然后把plist读成字典吗?还有另一种方式吗?
答案 0 :(得分:1)
我会做类似的事情:
typedef enum {
PlaceTypeBar = 0,
PlaceTypeRestaurant = 1,
PlaceTypeCafe = 2
} PlaceType
@interface PlaceTypeHelper : NSObject
+ (NSString *) stringForPlace:(PlaceType)place;
@end
@implementation
+ (NSString *) stringForPlace:(PlaceType)place {
NSArray *places = [NSArray arrayWithobjects:@"Bar", @"Restaurant", @"Cafe", nil];
return [places objectForKey:(NSInteger)place];
}
@end
Headups,我还没有测试过代码。
答案 1 :(得分:0)
您可以采取许多不同的方法。这就是我自己可以做的事情。
假设有一个有限且已知数量的值,你可以做一个简单的函数,它返回给定类型的字符串:
(NSString*) StringForPlaceType(PlaceType thePlace) {
switch(thePlace) {
case kBar:
return @"Bar";
case kRestaurant:
return @"Restaurant";
case kCafe:
return @"Cafe";
default:
// ...
}
}
除非您需要灵活性,例如动态值等,否则不需要对象或类。