objc分离元组

时间:2013-05-21 08:18:53

标签: objective-c json cocoa-touch tuples

遇到一个简单的objc问题,需要一些帮助。我正在向服务器发送一个查询,该服务器返回一个包含在jSON中的元组。只需使用字典对所有内容进行排序。

- (void)viewDidLoad
{
[super viewDidLoad];
Nodes *node = [Nodes new];
NSDictionary *jsonDict = [node nodeActivityforNode:@"17" withDates:nil and:nil];
NSDictionary *jsonActivityDict = [jsonDict objectForKey:@"activity"];
NSLog(@"activity?: %@", jsonActivityDict);

}

然后是调试转储

activity?: 

(
    (
    "2013-05-21 16:58:32",
    0
),
    (
    "2013-05-21 16:58:15",
    0
),
    (
    "2013-05-21 16:57:59",
    0
),

我正在尝试拆分逗号分隔值,这样我就可以将它们放在单独的int和string对象中,但只是想不出如何进入那里。任何帮助,将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

“活动”数据看起来像一个数组数组,而不是字典。如果你知道你将总是得到三对值,并且你希望将这6个值放入6个单独的变量中,那么你可以这样做:

NSDictionary *jsonDict = [node nodeActivityforNode:@"17" withDates:nil and:nil];
NSArray *jsonActivities = [jsonDict objectForKey:@"activity"];
NSString *date1 = jsonActivities[0][0];
int int1 = [jsonActivities[0][1] intValue];
NSString *date2 = jsonActivities[1][0];
int int2 = [jsonActivities[1][1] intValue];
NSString *date3 = jsonActivities[2][0];
int int3 = [jsonActivities[2][1] intValue];

请注意,如果少于3组对,或者这三个“对”中的任何一对只有一个值而不是两个,则此代码将崩溃。