Iphone 从NSDictionary中提取密钥/值对
是否有一种方便的方法可以从NSDictionary中同时获取密钥/值对 比如说我有一本字典,partyGuestIphone 从NSDictionary中提取密钥/值对,iphone,objective-c,ios,Iphone,Objective C,Ios,是否有一种方便的方法可以从NSDictionary中同时获取密钥/值对 比如说我有一本字典,partyGuest { name = "jim"; age = 28; occupation = "astronaut"; favouriteMeal = { starter = "fish head soup"; mainCourse = "roast armadillo"; dessert = "sugar
{
name = "jim";
age = 28;
occupation = "astronaut";
favouriteMeal =
{
starter = "fish head soup";
mainCourse = "roast armadillo";
dessert = "sugar plum fairy cakes";
}
}
我想得到其中的一个键/值对,如下所示
NSDictionary *guestFoodChoice = [partyGuest itemForKey:@"favouriteMeal"];
…并使其同时获得密钥和值
guestFoodChoice =
{
favouriteMeal =
{
starter = "fish head soup";
mainCourse = "roast armadillo";
dessert = "sugar plum fairy cakes";
}
}
似乎应该有,但我看不到明显的方法,也许我遗漏了什么?听起来你基本上想在另一个字典中得到一个键值对的子集(可能只有一个)。如果这是正确的,那么键值编码方法
dictionaryWithValuesForKeys:
就是您想要的
NSDictionary *guestFoodChoice = [NSDictionary dictionaryWithObjectsAndKeys:[partyGuest itemForKey:@"favouriteMeal"],@"favouriteMeal",nil];
NSDictionary *guestFoodChoice = [partyGuest dictionaryWithValuesForKeys:[NSArray arrayWithObject:@"favouriteMeal"]];
听起来您基本上希望在另一个字典中获得一个包含键值对的子集(可能只是其中一个)的字典。如果这是正确的,那么键值编码方法
dictionaryWithValuesForKeys:
就是您想要的
NSDictionary *guestFoodChoice = [partyGuest dictionaryWithValuesForKeys:[NSArray arrayWithObject:@"favouriteMeal"]];
谢谢,是的,这(使用valueForKey)是我目前的工作方法,但我认为应该有一个更优雅的快捷方式。在NSDictionary上创建一个类别,在其中添加工作方法的代码,然后至少可以清理主项目中的代码(使其更具可读性)。我会调用类似于
-keyedDictionaryWithObjectForKey:
的方法,谢谢,是的,这(使用valueForKey)是我当前的工作方法,但我认为应该有一个更优雅的快捷方式。在NSDictionary上创建一个类别,在其中添加工作方法的代码,然后至少可以清理主项目中的代码(使其更具可读性)。我会调用类似于-keyedDictionaryWithObjectForKey: