【发布时间】:2013-02-04 06:49:15
【问题描述】:
使用 Objective-C(ios 编程),我想获取用户的输入并为每个输入赋值 输入。例如,如果用户按下“A”或“a”或“B”或“b”,我想分配一个数字值 1。同样我需要为每个键分配一个数字值。有时可以将相同的值分配给不同的字母,例如上面的示例。
实现这一点的最佳方法是什么。请提供一个例子。我在考虑使用枚举或键值对。
【问题讨论】:
标签: ios objective-c enums
使用 Objective-C(ios 编程),我想获取用户的输入并为每个输入赋值 输入。例如,如果用户按下“A”或“a”或“B”或“b”,我想分配一个数字值 1。同样我需要为每个键分配一个数字值。有时可以将相同的值分配给不同的字母,例如上面的示例。
实现这一点的最佳方法是什么。请提供一个例子。我在考虑使用枚举或键值对。
【问题讨论】:
标签: ios objective-c enums
我更喜欢使用字典来存储映射关系并通过用户输入的字符串键获取相应的数字。
self.charMap = [[NSMutableDictionary alloc] init];
for (int i=0; i<26; ++i) {
[self.charMap setObject:[NSNumber numberWithInt:i+1] forKey:[upperCaseChars substringWithRange:NSMakeRange(i, 1)]];
[self.charMap setObject:[NSNumber numberWithInt:i+1] forKey:[lowerCaseChars substringWithRange:NSMakeRange(i, 1)]];
}
// Example of use
NSString *userInput = @"b";
NSNumber *correspondingNumber = [self.charMap objectForKey:userInput];
【讨论】: