ios7里2个未文档化的API

本文介绍两个未正式文档化的iOS API:NSURLComponents 和 array firstObject 方法。NSURLComponents 可用于解析URL中的schema、host等信息;firstObject 则提供了一种安全获取数组首元素的方法,即使数组为空也不会抛出异常。

这几天看Pushing the Limits,看到2个未文档化的API(非私有API),还挺方便的,本文记录一下

NSURLComponents

可以从URL中解析出schema,host等

NSURL *url = [NSURL URLWithString:@"http://www.yilos.com:5000/svc/graph?name='kyfxbl'"];
    
NSURLComponents *components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:YES];
    
NSLog(@"%@", components.host);// www.yilos.com
NSLog(@"%@", components.port);// 5000
NSLog(@"%@", components.scheme);// http
NSLog(@"%@", components.path);// /svc/graph
NSLog(@"%@", components.query);// name='kyfxbl'

array firstObject

一般取数组的第一个对象,习惯这样写:

[@[] objectAtIndex:0];

这样有个问题,如果是空数组,会抛出异常。ios一直有lastObject方法,好像从7.0开始,终于有了firstObject方法

[@[@"1", @"2", @"3"] firstObject];

效果和objectAtIndex:0一样,但是在空数组上调用也是安全的,会返回nil,不会抛出异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值