Address​Book​UI

本文详细介绍了iOS6中AddressBookUI框架的使用方法及其实现的强大功能,包括如何通过统一接口展示、选择、编辑和创建联系人,并特别强调了ABCreateStringWithAddressDictionary()函数的独特优势,该函数能够生成本地化且结构化的地址字符串组,为开发者提供了高效处理地址信息的解决方案。


Address​Book​UI

Mattt Thompson撰写、 Henry Lee翻译、 发布于2012年10月15日

Address Book UI是用来在用户地址簿展示、选择、编辑和创建联系人的iOS框架。与Message UI框架相似,Address Book UI包含了一些可以用dismissViewControllerAnimated:completion:方法来展示的试图控制器,它通过一些统一的接口提供常用的系统功能。

要用到这个框架,你需要添加AddressBook.frameworkAddressBookUI.framework两个框架到你工程中build phase的"Link Binary With Libraries"之下。

乍一看你可能觉得Address Book UI没有什么特别的地方。

其实,在iOS 6里,MFMailComposeViewControllerABNewPersonViewController有一些非常棒的内部处理小伎俩在起着作用,Ole Begemann就有一篇很棒的、非常值得读的关于远程视图控制器的文章

抛开剩下的View Controller和协议,Address Book UI还有一个功能十分惊人地有用。

ABCreateStringWithAddressDictionary()函数返回一个已经本地化、结构化的地址字符串组。

关于这个函数第一个要讨论的问题是包含这些组成结构的字典,这个字典是由以下的常量作为键值的。

  • kABPersonAddressStreetKey
  • kABPersonAddressCityKey
  • kABPersonAddressStateKey
  • kABPersonAddressZIPKey
  • kABPersonAddressCountryKey
  • kABPersonAddressCountryCodeKey

kABPersonAddressCountryCodeKey 是一个尤其重要的属性,它决定了用来格式化地址字符串的语言。如果你对国家代码不是很确定或者没有确定的国家代码数据集,你可以通过NSLocale像这样来确定:

Objective-C
[mutableAddressComponents setValue:[[[NSLocale alloc] initWithIdentifier:@"en_US"] objectForKey:NSLocaleCountryCode] forKey:(__bridge NSString *)kABPersonAddressCountryCodeKey];

在其他任何框架里你都找不到实用性这么好的功能,这不需要用到NSLocale,甚至也不需要Map Kit和Core Location来定位。苹果尽了如此多的努力来提高很多本地化的细节,而你会很惊奇这么一个重要的功能被放在了一个模糊不清、感觉上不怎么相关的一个框架里。

不过,电话簿UI在OS X里不提供,似乎这个平台也没有其他相同功能的内容。

你看,地址格式会因为地区的不同相差很大,例如,美国的地址是下面这个格式的:

Street Address City State ZIP Country

而日本的地址的表示则有不同的习惯:

Postal Code Prefecture Municipality Street Address Country

这个和不同地区有不同的全角半角逗号一样烦人,所以,你还是在展示结构化的地址的时候尽量多地用这些函数把。


还有一个很棒的利用已经本地化的地址簿的方式就是 FormatterKit,他在它的1.1版中添加了 TTTAddressFormatter
内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值