我想在iOS中将Json值替换为另一个字符串值

我想在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

使用Json,我可以检索一些值到UITableViewCell

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:你真的需要阅读。不要错过这个。