Lucien Dupont

3Pods

CardParts

许可协议: NOASSERTION

INTUGroupedArray

INTUGroupedArray是一个Objective-C数据结构,它将一维数组扩展到了下一个维度。分组数组被设计成一个熟悉的API,可以很好地与Foundation集合例如NSArray一起使用,包括完全功能的不可变和可变变体。一个轻薄的桥梁将分组数组引入Swift作为本地类,在这里它利用了泛型、可选值、索引、字面量、元组和更多功能的力量、安全性和灵活性。

INTUGroupedArray非常灵活,可以用作通用数据存储机制来替换复杂的嵌套数组或其他数据结构的组合。分组数组非常适合用作UITableView数据源,因为它高度兼容数据源和委托回调 - 在很多情况下只需要一行代码。然而,它适用于iOS和OS X应用程序的整个堆栈。

许可协议: MIT

  • Objective-C

INTULocationManager

INTULocationManager

INTULocationManager简化了在iOS上获取设备当前位置的过程。它是一个Objective-C库,同时也在Swift中表现良好。

INTULocationManager提供了一种基于块的异步API来请求当前位置,可以是单次请求或连续请求。它内部管理多个同时位置请求,每次单次请求可以指定自己的期望精度水平和超时持续时间。INTULocationManager在第一个请求到来时自动启动位置服务,并在所有请求完成后立即停止位置服务,同时动态管理位置服务消耗的电量以减少对电池寿命的影响。

CLLocationManager有什么问题?

CLLocationManager要求你手动检测和处理权限、无效/不准确的位置、错误等问题。CLLocationManager使用较传统的委托模式而不是现代基于块的回调模式。虽然它可以很好地追踪用户地理位置的变化(如实时导航),但正确请求单次位置更新(如确定用户的当前城市以获取天气预报或从当前位置自动填充地址)却非常繁琐。

INTULocationManager简化了单次或连续请求设备当前位置的过程。对于单次请求,你可以指定所需的精度以及为此等待的时间。也支持重要的位置变化监控。INTULocationManager节能,通过自动确定和使用最有效的Core Location精度设置,以及在使用完毕后自动关闭位置服务(例如GPS)来节省设备电量。

许可协议: MIT

  • Objective-C