有没有办法访问NSArray元素valueForKeyPath?例如,Google的反向地理编码器服务会返回一个非常复杂的数据结构.如果我想要进入这个城市,那么现在我必须把它分成两个电话,像这样:
NSDictionary *address = [NSString stringWithString:[[[dictionary objectForKey:@"Placemark"] objectAtIndex:0] objectForKey:@"address"]];
NSLog(@"%@", [address valueForKeyPath:@"AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName"]);
Run Code Online (Sandbox Code Playgroud)
只是想知道是否有办法将objectAtIndex:调用塞入valueForKeyPath字符串.我尝试了像@"Placemark [0] .address"这样的javascript-esque配方,但没有骰子.
我将json解析结果保存在以下dictionary内容中:
{
"statusCode":"200",
"body":[
{
"status":"success",
"remarks":null
}
],
"data":[
"abcd":[
{
"category":"a",
"title":"b",
"id":"24"
},
{
"category":"c",
"title":"crd",
"id":"65"
},
{
"category":"ds",
"title":"sd",
"id":"18"
}
]
},
{
"efgh":[
{
"category":"ds",
"title":"sd",
"id":"18"
},
{
"category":"sd",
"title":"sd",
"id":"1"
}
]
},
{
"ijkl":[
{
"category":"ds",
"title":"sd",
"id":"18"
},
{
"category":"sd",
"title":"sd",
"id":"1"
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
key @"data"的数据可以通过使用保存到数组中
NSMutableArray *getdata=[[NSMutableArray alloc]init];
getcat=[results objectForKey:@"data"];
Run Code Online (Sandbox Code Playgroud)
现在我应该为values(category, title, id)第一个索引内部做些什么,即"abcd".
如果有人有任何知识,请看看.
谢谢大家.
我想valueForKeyPath在my 上使用NSDictionary,但问题是其中一个键是一个以@符号开头的字符串.我无法控制密钥的命名.
我在尝试创建密钥路径时遇到问题,因为我收到格式异常,即使在尝试转义@符号时也是如此:
这很好用:
[[[dict objectForKey:@"key1"] objectForKey:@"@specialKey"] objectForKey:@"key3"]
Run Code Online (Sandbox Code Playgroud)
但是这些都不起作用:
[dict valueForKeyPath:@"key1.@specialKey.key3"]
[dict valueForKeyPath:@"key1.@@specialKey.key3"]
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢,
麦克风
我通过使用启用来显示current locationin .我还希望将用户当前位置以及位置的缩放地图居中.请帮我解决这个问题,因为我在stackoverflow上没有得到任何其他类似问题的帮助.MKMapViewshowUserLocationmapview
我的代码如下:
- (void)viewDidLoad {
[super viewDidLoad];
[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
[mapView setCenterCoordinate:mapView.userLocation.location.coordinate animated:YES];
[mapView setDelegate:self];
}
Run Code Online (Sandbox Code Playgroud) 我想在a上应用两种类型的边框UIImageView:
layer的UIImageView.layer的UIImageView.我怎样才能做到这一点?
任何人都知道是否有办法从button添加的点击事件中获取MKAnnotationView,这button被用作标签只是为了显示每个图钉的名称map,现在我成功地显示了一个自定义view(包含图像,文本.... )pin单击时,我需要在单击按钮(标签)时执行相同的操作.
感谢您提供的任何建议.
为代码button在MKAnnotationView:
UIButton * pinButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 140, 28)];
[pinButton.titleLabel setTextColor:[UIColor colorWithRed:255/255.0 green:255/255.0 blue:255/255.0 alpha:1]];
[pinButton setCenter:CGPointMake(pinAnnotationView.center.x + 70, pinAnnotationView.center.y + 10)];
[pinButton addTarget:self action:@selector(pinLabelClicked) forControlEvents:UIControlEventTouchUpInside];
[pinAnnotationView addSubView:pinButton];
[pinButton setUserInteractionEnabled:YES];
Run Code Online (Sandbox Code Playgroud) 有可能stikethrough一个人UILabel吗?我似乎无法找到选项......
我希望我的应用程序使用MFMailComposeViewController发送电子邮件,以便收件人可以单击嵌入式url打开相应的网站.
MFMailComposeViewController似乎没有明确支持这一点.有任何想法吗?
我有一个简单的视图,包含一个带有许多按钮的长视图,整个事物都在一个UIScrollView.该scroller作品很好,我可以scroll在底部和点击button.每个button触发一个模态seque to另一个view.view然后,用户交互解除了新内容,导致原件UIScrollView's view再次加载.
这是问题:如果我点击顶部的按钮UIScrollView,我输入模态segue,关闭新的view,然后返回到UIScrollView's view没有问题.但是,如果我点击其中一个按钮UIScrollView,当我退回seque然后转换回来时,我的滚动都搞砸了.我只能看到我下方的区域scroller,不能再scroll回到顶部了!
我很确定必须有一些方法来重置UIScrollView's开始和结束点ViewWillAppear,但我无法弄明白.任何帮助表示赞赏!
另外,仅供参考,我只是添加了UIScrollView通过界面构建器,并且尚未在任何地方实现或合成它.
我有一个tab基础的应用程序.其中一个views是推动一个modal view controller.如果我self.presentingViewController在a内打电话modal view controller,它会返回tab bar controller,而不是view controller推动它.
我在这里错过了什么?是否有可靠的方式返回view controller提升模式?
谢谢.
iphone ×7
objective-c ×7
ios ×5
cocoa-touch ×2
mkmapview ×2
nsdictionary ×2
cocoa ×1
ios5 ×1
mfmailcomposeviewcontroller ×1
uibutton ×1
uilabel ×1
uiscrollview ×1
xcode ×1