我想在iOS中将Json值替换为另一个字符串值
使用Json,我可以检索一些值到UITableViewCell我想在iOS中将Json值替换为另一个字符串值,ios,objective-c,json,nsstring,Ios,Objective C,Json,Nsstring,使用Json,我可以检索一些值到UITableViewCell NSString *sample = [[array objectAtIndex:indexPath.row] objectForKey:@"food"]; 我得到了我的字符串值示例中的1,2,3,4,6 但是我想展示一下,如果例如1=苹果2=葡萄3=橘子4=菠萝5=柠檬6=全部 我希望结果是苹果、葡萄、橘子、菠萝,所有在我的示例字符串值中在Objective-C中没有内置的枚举可用于字符串类型。您可以将enum声明为Intege
NSString *sample = [[array objectAtIndex:indexPath.row] objectForKey:@"food"];
我得到了我的字符串值示例中的1,2,3,4,6
但是我想展示一下,如果例如1=苹果2=葡萄3=橘子4=菠萝5=柠檬6=全部
我希望结果是
苹果、葡萄、橘子、菠萝,所有在我的示例字符串值中在Objective-C
中没有内置的枚举
可用于字符串
类型。您可以将enum
声明为Integer
,然后创建一个函数或字符串数组,返回该enum
的字符串值
在.h
文件中声明
typedef NS_ENUM(NSInteger, FRUIT) {
APPLE = 1,
GRAPE,
ORANGE,
PINEAPPLE,
LEMON,
All
};
extern NSString * const FRUITString[];
NSString * const FRUITString[] = {
[APPLE] = @"APPLE",
[GRAPE] = @"GRAPE",
[ORANGE] = @"ORANGE",
[PINEAPPLE] = @"PINEAPPLE",
[LEMON] = @"LEMON",
[All] = @"All"
};
在.m
文件中定义
typedef NS_ENUM(NSInteger, FRUIT) {
APPLE = 1,
GRAPE,
ORANGE,
PINEAPPLE,
LEMON,
All
};
extern NSString * const FRUITString[];
NSString * const FRUITString[] = {
[APPLE] = @"APPLE",
[GRAPE] = @"GRAPE",
[ORANGE] = @"ORANGE",
[PINEAPPLE] = @"PINEAPPLE",
[LEMON] = @"LEMON",
[All] = @"All"
};
你可以像这样使用它:
NSLog(@"%@", FRUITString[APPLE]);
// OR
NSLog(@"%@", FRUITString[1]);
输出:苹果
根据您的评论:如果食品价值观是“食品”:“1,2”我想展示“苹果,葡萄”
苹果、葡萄
使用所需的映射定义NSDictionary,并从映射字典中获取值:
NSDictionary *foodDict = @{
@"1": @"apple",
@"2": @"grape",
@"3": @"orange",
@"4": @"pineapple",
@"5": @"lemon",
@"6": @"all"
};
NSString *sample = [[array objectAtIndex:indexPath.row] objectForKey:@"food"];
NSString *sampleValue= [foodDict valueForKey:sample];
“sampleValue”是您所需的字符串值。(如果需要,将其转换为NSString)将代码objectForKey@更改为valueForKey@
请分享你的json和预期结果。我从json“食品”中得到如下信息:“1,2,3,4,6”,但我想将1,2,3,4,6替换为苹果、葡萄、橘子、菠萝,如果食品价值是“食品”:“1,2”,我想展示苹果、葡萄tableviewcell@micMacSolutions使用enum@micMacSolutions是的,我明白,但在哪里?请共享您的json数据和要替换此数据的节点。Objective-C
没有String
类型枚举。所以,如果你再详细说明一下,我就可以相应地回答你了。@micMacSolutions很高兴它对你有所帮助。请接受并表决答案。这是取钥匙的错误方法。我们不应该使用valueForKey:
objectForKey:
是正确的方法。如果我们想获得键“food”中的值,我们需要使用valueForKey:你真的需要阅读。不要错过这个。