小编Gir*_*ish的帖子

使用valueForKeyPath获取数组元素

有没有办法访问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配方,但没有骰子.

cocoa objective-c key-value-coding

20
推荐指数
2
解决办法
2万
查看次数

获取nsdictionary中特定键的值

我将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".

如果有人有任何知识,请看看.

谢谢大家.

iphone objective-c nsdictionary ios

20
推荐指数
1
解决办法
6万
查看次数

如果一个键启动@符号,则在NSDictionary上使用valueForKeyPath?

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

有任何想法吗?

谢谢,

麦克风

iphone objective-c nsdictionary key-value-coding

18
推荐指数
2
解决办法
2万
查看次数

如何在MKMapView中居我当前的位置?

我通过使用启用来显示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)

iphone mkmapview ios

18
推荐指数
1
解决办法
3万
查看次数

在UIImageView周围设置边框

我想在a上应用两种类型的边框UIImageView:

  1. 其一是对边界layerUIImageView.
  2. 二是围绕边界layerUIImageView.

我怎样才能做到这一点?

iphone xcode objective-c ios

17
推荐指数
2
解决办法
3万
查看次数

如何从通过MKAnnotationView添加的按钮获取单击事件

任何人都知道是否有办法从button添加的点击事件中获取MKAnnotationView,这button被用作标签只是为了显示每个图钉的名称map,现在我成功地显示了一个自定义view(包含图像,文本.... )pin单击时,我需要在单击按钮(标签)时执行相同的操作.

感谢您提供的任何建议.

为代码buttonMKAnnotationView:

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)

iphone objective-c uibutton mkmapview ios

14
推荐指数
1
解决办法
2万
查看次数

UILabel Strikethrough

有可能stikethrough一个人UILabel吗?我似乎无法找到选项......

iphone cocoa-touch uilabel

13
推荐指数
1
解决办法
9421
查看次数

MFMailComposeViewController:如何将可点击的URL链接嵌入电子邮件正文中

我希望我的应用程序使用MFMailComposeViewController发送电子邮件,以便收件人可以单击嵌入式url打开相应的网站. MFMailComposeViewController似乎没有明确支持这一点.有任何想法吗?

iphone cocoa-touch objective-c mfmailcomposeviewcontroller

13
推荐指数
5
解决办法
1万
查看次数

如何从模态转换返回后重置我的UIScrollView的位置?

我有一个简单的视图,包含一个带有许多按钮的长视图,整个事物都在一个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通过界面构建​​器,并且尚未在任何地方实现或合成它.

objective-c uiscrollview ios

13
推荐指数
1
解决办法
2万
查看次数

self.presentingViewController返回UITabBarController,而不是使用presentModalViewController推送它的视图控制器

我有一个tab基础的应用程序.其中一个views是推动一个modal view controller.如果我self.presentingViewController在a内打电话modal view controller,它会返回tab bar controller,而不是view controller推动它.

我在这里错过了什么?是否有可靠的方式返回view controller提升模式?

谢谢.

uitabbarcontroller ios5

12
推荐指数
2
解决办法
4303
查看次数