其实我有三个字符存储在NSArray中如何转换char类型输入ID
` 焦炭加= '+'; char minus =' - '; char multiply ='*';
NSArray *operator = [NSArray arraywithobjects : plus , minus ,multiply,nil];`
很明显,我在NSarray中存储三个字符之前我有这些字符转换为ID。 所以如何将char转换为id.or指导我使用其他更好或更高效的技术,以便节省三个字符。
其实我有三个字符存储在NSArray中如何转换char类型输入ID
` 焦炭加= '+'; char minus =' - '; char multiply ='*';
NSArray *operator = [NSArray arraywithobjects : plus , minus ,multiply,nil];`
很明显,我在NSarray中存储三个字符之前我有这些字符转换为ID。 所以如何将char转换为id.or指导我使用其他更好或更高效的技术,以便节省三个字符。
使用NSNumber包装字符,例如,@(plus)
并将其添加到运算符NSArray。 拿回来用[(NSNumber *)operator[index] charValue]
// As we can not add primitive to NSArray ,
// First we should convert it to NSString and then add it to NSArray
//'c' character string
char plus = '+';
char minus = '-';
char multiply = '*';
//Converted to NSString object which was inherited from NSObject
NSString *plusObject = [NSString stringWithFormat:@"%c", plus];
NSString *minusObject = [NSString stringWithFormat:@"%c", minus];
NSString *multiplyObject = [NSString stringWithFormat:@"%c", multiply];
//Add collection of NSString objects to NSArray
NSArray *operator = [NSArray
arrayWithObjects:plusObject , minusObject ,multiplyObject,nil];
你想存储为字符或字符串会被确定为char。也可以使用一个普通的C数组? – Mark
为什么他们必须是char?如果您使用单个字符串(@“+”,@“ - ”,@“*”),将会更容易。 –
或者如果它们是字符,就让它们被'NSNumber'封装为'int':NSArray * ops = @ [@(plus),@(minus),@(multiply)]'。顺便说一句,不要调用数组'operator' - 这是一个C++关键字。 – 2013-08-16 12:30:27