Look for any podcast host, guest or anyone
Showing episodes and shows of

Sheldon Thompson

Shows

Rabbitt Stew Comics2025-07-013h 05WomenKind Collective2025-06-211h 00The Afrodisiacs Collection2025-05-2518 minWitchpolice Radio2025-04-231h 02Meet Me At Applebees2025-04-021h 47Behind the Business2025-02-2728 minEveryday Creation2025-01-2403 minFrom the Ground Up: Conservation in New England2025-01-0925 min2 and Out CFL Podcast2024-08-191h 342 and Out CFL Podcast2024-08-1413 minVarn Vlog2024-08-122h 44Pastor Steve Thompson\'s podcast2024-07-1241 min2 and Out CFL Podcast2024-06-271h 01Sasquatch Crue2024-06-171h 29The Jay Sheldon Show2024-06-0558 minThe Mark Thompson Show2024-05-312h 14Hamilton Today with Scott Thompson2024-05-101h 15Hollywood Picture News2024-01-151h 48Pastor Steve Thompson\'s podcast2023-12-2832 minNow I\'ve Heard Everything2023-12-2017 minHollywood Picture News2023-11-211h 46Now I\'ve Heard Everything2023-10-0617 minAction, Action2023-07-251h 14The Projection Booth Podcast2023-05-0555 minTangazo2023-04-2645 minScrummy Handshakes - A Great British Bake Off Fan Podcast2023-04-1054 minUncover Your Magic2023-04-041h 02Two Dollar Late Fee - 80s Movie Podcast2023-03-2658 minbrioux.tv: the podcast2023-02-0642 minThe Human Game w/ Nick Zei2022-12-202h 03The Athletic Hockey Show2022-11-011h 09WomenKind Collective2022-10-221h 24Million Dollar Relationships2022-09-1428 minV3 Cast2022-08-2048 minThe Guilty Feminist2022-05-301h 45What Women Binge2022-05-111h 06Witchpolice Radio2022-04-182h 15Agency Dealmasters podcast2022-04-0730 minPerspective2021-12-1844 minDunktown2021-10-271h 02Hamilton Today with Scott Thompson2021-10-021h 00This Week in Anguish2021-09-271h 15Be The Bright Podcast2021-09-091h 03Habit Masters2021-05-2631 minDownload High-Quality Full Audiobooks in Business & Economics, Accounting & Finance2021-03-082h 27Thirsty For More - Movie Review2021-02-0158 minTotal Movie Recall2020-12-291h 29BlackLITE2020-10-281h 05Be The Bright Podcast2020-09-2914 minBe The Bright Podcast2020-09-2914 minBe The Bright Podcast2020-09-2913 minBe The Bright Podcast2020-09-2914 minDJ Pauly\'s Deep House Lounge2020-04-232h 09The Pleasure Podcast2020-03-161h 00Friends with Fantasy Benefits | Baseball2020-01-2225 minGrownUpLand2019-12-251h 00#FeministFridays2019-12-2041 minEnergy Groove Catch Up2019-12-2041 minHamilton Today with Scott Thompson2019-11-2145 minThe Guilty Feminist2019-06-031h 00Smoakworks Talks2019-05-2520 minKefir2019-03-2900 minAnalog Jones and the Temple of Film: VHS Podcast2019-02-211h 35How\'d it Happen?2019-02-0140 minHow\'d it Happen?2019-01-2551 minWhatever Happened to Pizza at McDonald\'s2018-12-0721 minWhatever Happened to Pizza at McDonald\'s2018-12-0721 minWhatever Happened to Pizza at McDonald\'s2018-11-1507 minWhatever Happened to Pizza at McDonald\'s2018-11-1507 minRabbitt Stew Comics2018-11-082h 02Whatever Happened to Pizza at McDonald\'s2018-11-0811 minWhatever Happened to Pizza at McDonald\'s2018-11-0811 minON BLAST PODCAST2018-09-281h 04Radio8Ball hosted by Andras Jones2018-09-0930 minON BLAST PODCAST2018-05-021h 06ON BLAST PODCAST2018-03-151h 01Everything Band Podcast2018-03-0550 minGames on Earth2017-09-0748 minThe CSDC Podcast2017-06-1300 minhfn music2017-05-1206 minhfn music2017-05-1206 minhfn music2017-05-0907 minReality TV RHAP-ups2017-03-051h 47Reality TV RHAP-ups2017-02-251h 28Reality TV RHAP-ups2017-02-191h 39Bitslap with KBC2016-08-231h 19iOSDevLog
iOSDevLog401. nshipster-NSDate​Components​http://nshipster.cn/nsdatecomponents/NSDate​ComponentsMattt Thompson撰写、 Candyan翻译、 发布于2012年7月31日NSDateComponents 类在Foundation的日期和时间API中扮演着重要的角色。其本身并没有什么令人印象深刻的特征,仅仅是一个日期信息的容器(信息包括:月,年,月中的某天,年中的某周,或者是否是闰月)。然而,值得一提的是,在其结合 NSCalendar和NSDateComponents 类之后,日历格式的转换变得十分方便。日期代表了时间中的某个特定时刻,而日期组件的表示则依赖于其所使用的日历系统。很多时候,这个表示形式会和我们大多数人使用的Gregorian Calendar有着很大的不同。例如Islamic Calendar一年有354或者355天,而Buddhist calendar一年会有354,355,384或者385天。从日期中提取日期组件NSDateComponents类能够被手动初始化,但是在大多数时候,会使用NSCalendar -components:fromDate:来提取某个日期的日期组件。Objective-CNSCalendar *calendar = [NSCalendar currentCalendar];NSDate *date = [NSDate date];[calendar components:(NSDayCalendarUnit | NSMonthCalendarUnit) fromDate:date];其中components参数是一个用来获取日期组件值的掩码(bitmask),有下面这些值可以选择:NSEraCalendarUnitNSYearCalendarUnitNSMonthCalendarUnitNSDayCalendarUnitNSHourCalendarUnitNSMinuteCalendarUnitNSSecondCalendarUnitNSWeekCalendarUnitNSWeekdayCalendarUnitNSWeekdayOrdinalCalendarUnitNSQuarterCalendarUnitNSWeekOfMonthCalendarUnitNSWeekOfYearCalendarUnitNSYearForWeekOfYearCalendarUnitNSCalendarCalendarUnitNSTimeZoneCalendarUnit由于其计算所有可能值的开销很大,所以随后的计算只使用指定的值(用|来分割两个不同的值,使用位运算“或”操作)。计算相对日期NSDateComponents对象可以用来计算相对日期。使用 NSCalendar -dateByAddingComponents:toDate:options:方法来确定昨天,下周或者5小时30分钟之后的日期。Objective-CNSCalendar *calendar = [NSCalendar currentCalendar];NSDate *date = [NSDate date];NSDateComponents *components = [[NSDateComponents alloc] init];[components setWeek:1];[components setHour:12];NSLog(@"1 week and twelve hours from now: %@", [calendar dateByAddingComponents:components toDate:date options:0]);用Components来创建日期NSDateComponents类最强大的特性也许就是能够通过组件反向创建NSDate对象。NSCalendar -dateFromComponents:就是用来实现这个目的的:Objective-CNSCalendar *calendar = [NSCalendar currentCalendar];NSDateComponents *components = [[NSDateComponents alloc] init];[components setYear:1987];[components setMonth:3];[compon...
2016-03-1304 miniOSDevLog
iOSDevLog396. nshipster-NSCachehttp://nshipster.cn/nscache/NSCacheMattt Thompson撰写、 Tony Li翻译、 发布于2012年7月14日可怜的 NSCache 一直处于 NSMutableDictionary 的阴影之下。就好像没有人知道它提供了垃圾处理的功能,而开发者们却费劲力气地去自己实现它。没错,NSCache 基本上就是一个会自动移除对象来释放内存的 NSMutableDictionary。无需响应内存警告或者使用计时器来清除缓存。唯一的不同之处是键对象不会像 NSMutableDictionary 中那样被复制,这实际上是它的一个优点(键不需要实现 NSCopying 协议)。如果开发者们知道就好了……但是,你并不像其他开发者那样,对吧?你应该不会小看 NSCache 的?这并不是说它没有一丝瑕疵和一些莫名其妙的问题。NSCache 就像是个烫手山芋。拿 setObject:forKey:cost: 来说,它和 setObject:forKey: 方法类似,但是带着 cost 参数。你可能会问,那是个什么东西?好吧,官方文档甚至都没有说清楚:cost 被用来计算缓存中所有对象的代价。当内存受限或者所有缓存对象的总代价超过了最大允许的值时,缓存会移除其中的一些对象。很好,目前为止还不错……然而,这个移除流程并不会保证顺序。后果就是,如果你期望通过控制 cost 的值来完成某些特殊行为的话,结果可能会对你的程序无益。啊?这是什么意思?通常,精确的 cost 应该是对象占用的字节数。如果它不可以直接读出来的话,你没必要费劲地去计算它,因为这么做的话会增加使用缓存的代价。等会儿,那不精确的 cost 值应该怎么计算呢?有什么计算内存占用的规则吗?比如按数量排序来计算?“随便瞎猜导致性能变差”似乎不会让人满意……如果你没有有效的值传入,那就传入 0,或者用 setObject:forKey: 方法,它不需要传入 cost 值。懂了:除非你在 Apple 工作并且认识写这个类的人,否则不要用这个方法。另外,它还有一套使用 evictsObjectsWithDiscardedContent 和 来控制对象是否会被自动移除的机制,但是这可能只会让你碰到更多的问题。尽管有上面提到的这些问题,开发者们还是应该多多使用 NSCache。你项目中任何你称之为缓存却不是 NSCache 对象的东西都应该被换成 NSCache。但是,如果你这么做了,务必要用你熟悉的那套 objectForKey:、setObject:forKey:、removeObjectForKey: 方法。作者Mattt ThompsonMattt ThompsonMattt Thompson (@mattt) is the creator & maintainer of AFNetworking and other popular open-source projects, including Postgres.app, ASCIIwwdc and Nomad.翻译者Tony Li下一篇文章NSSort​Descriptor排序:它是CS(计算机科学)入门课程考试和初级编程面试白板考题的主流考题。不管怎么样,你上一次真正需要知道如何实现快速排序是什么时侯?相关文章NSUUID /CFUUIDRef /UIDevice -uniqueIdentifier /-identifierForVendorUIReferenceLibraryViewController /DCSDictionaryRefCFBagNSValueTransformer 除非另有声明、本网站采用知识共享「署名-非商业性使用 3.0 中国大陆」许可协议授权。本站文章由 Croath Liu 、 、 Delisa Mason 、 Jack Flintermann 、 Mattt Thompson 、 、 Mike Lazer-Walker 、 Natasha Murashev 和 Nate Cook 撰写、 Andrew Yang 、 April Peng 、 Bob Liu 、 Candyan 、 Chester Liu 、 Croath Liu 、 David Liu 、 GWesley 、 Henry Lee 、 JJ Mao 、 Lin Xiangyu 、 Ricky Tan 、 Sheldon Huang 、 Tiny Tian 、 Tony Li 、 Yifan Xiao 、 Yu Jin 和 Zihan Xu 翻译。
2016-03-1003 miniOSDevLog
iOSDevLog394. nshipster-MKLocal​Search​http://nshipster.cn/mklocalsearch/MKLocal​SearchMattt Thompson撰写、 April Peng翻译、 发布于2013年4月29日是的,我们知道的:人们对 Apple 的地图很无所适从。本应该是 iOS 6 至高无上的新特性,却由于其尴尬的不准确定位以及移除了公共交通信息让官方出来为之道歉。沉浸在这所有的沸沸嚷嚷中,你可能完全没有注意到在 iOS 6.1 的 MapKit 里新增加的一个小部件:MKLocalSearch。MKLocalSearch 允许开发者得到一个地理区域内附近的兴趣点。但在你急于去使用 MKLocalSearch 之前,你必须了解一些它的朋友的事情。你看,MKLocalSearch 是有区别于 MKLocalSearchRequest 和 MKLocalSearchResponse 的功能的:SwiftObjective-Clet request = MKLocalSearchRequest()request.naturalLanguageQuery = "Restaurants"request.region = mapView.regionlet search = MKLocalSearch(request: request)search.startWithCompletionHandler { (response, error) in for item in response.mapItems { // ... }}像一个 “动物标本剥制师” 一样,MKLocalSearchRequest 需要一个 naturalLanguageQuery 和一个可选的边界地域 region 来约束结果。在实践中,region 通常从一个 MKMapView 传进来。MKLocalSearchResponse 在 MKLocalSearch -startWithCompletionHandler: 的同名 block handler 中被返回,并且返回一个 MKMapItem 对象的数组。每个 MKMapItem 通过 placemark 属性包含了诸如 name,phoneNumber,url 和地址这样的信息。如果你保持一个 MKLocalSearch 对象的引用,你可以选择性的像 -viewWillDisappear: 或之类的一样来 -cancel 请求。重点在哪儿?MKLocalSearch 是一种相对直接的 API(尽管也许更糟的是它仅是一个简单的单类接口)......所以有什么大不了的?API 的限制。 或者说,它们的缺陷。让我来解释一下:或许关于 iOS 6 中 MapKit 最反直觉的事情是 它仍然被广泛的使用。别去管 “苹果地图门” 的闹剧,即使从 Google 和 MapBox 引入了非常棒的 iOS 地图 SDK,开发者们仍在使用 MapKit.有部分原因可能是审美问题,但更多的则是因为主场优势。由于 MapKit 与 UIKit 紧密联系,它可以更容易,更广泛地由第三方开发者定制。这把我们带回到了 API 调用的限制。当用另一种地图 SDK 或地理空间 Web 服务开发的时候,许可条款几乎必然比苹果公司免费提供的更为有限。免费是一个艰难的问题,而且更没得选的是区域性加载或调用 API 的时候不用担心越过 API 的限制。我们还能做什么呢?通过引入 MKLocalSearch,在类似的场景中,苹果提供了越来越多的原生 API。扩展的地理空间搜索?或者是 iTunes 流媒体的第一方 API?毕竟,人们可以敢于梦想...MKLocalSearch 提供了一种简单的方法来找到当地兴趣点。由于其无争议的 web 服务集成,以及与 MapKit 的紧密集成,任何基于位置的应用程序都该好好地利用它。作
2016-03-1004 miniOSDevLog
iOSDevLog387. nshipster-CFString​Transformhttp://nshipster.cn/cfstringtransform/CFString​TransformMattt Thompson撰写、 Ricky Tan翻译、 发布于2012年8月6日关于一种语言好不好用,你只需要衡量以下两种指标:API 的统一性String 类的实现质量NSString 是基础类库中的佼佼者。在那个其他语言 仍在 艰难地正理处理 Unicode 的时代,NSString 是尤其让人印象深刻的。不仅仅是任何内容扔在它里面就能 正确工作 ,NSString 还能将字符串解析成语法标签、检测出内容中的首要语言,并且在任意你能想到的字符编码中转换。它好用得离谱。它虽然很强大,但是不提提它的可无缝转换(toll-free bridged)的表兄弟 CFMutableString,或者更特殊的 CFStringTransform,是不负责任的。正如它的 CF 前缀所表述的一样,CFStringTransform 是 Core Foundation 中的一部分。这个函数传入以下参数,并返回一个 Boolean 来表示转换是否成功:string: 需要转换的字符串。由于这个参数是 CFMutableStringRef 类型,一个 NSMutableString 类型也可以通过自由桥接的方式传入。range: 转换操作作用的范围。这个参数是 CFRange,而不是 NSRange。transform: 需要应用的变换。这个参数使用了包含下面将提到的字符串常量的 ICU transform string。reverse: 如有需要,是否返回反转过的变换。CFStringTransform 中的 transform 参数涉及的内容很多。这里有个它能做什么的概述:去掉重音和变音符Énġlišh långuãge lẳcks iñterêßţing diaçrïtičş. 如此类的字符串,把扩展的拉丁字符集正则化为 ASCII 友好型的表示,它非常有用。用 kCFStringTransformStripCombiningMarks 变换来去掉任意字符串中弯弯扭扭的符号。为 Unicode 字符命名kCFStringTransformToUnicodeName 让你可以找出特殊字符的 Unicode 标准名,包括 Emoji。例如:"✨" 被转换成 "{SHEEP} {DASH SYMBOL} {SPARKLES}",而 "" 变成了 "{PIG FACE}"。不同拼写之间转写除了英语这个重大例外(和它那令人愉快的拼写不一致),书写系统一般是将语言音调编码成一致的符号表示。欧洲语言一般使用拉丁字母(外加一些变音符),俄罗斯用西里尔字母,日本用平假名和片假名,泰国、韩国和阿拉伯国家也都有自己的字母。虽然每种语言都有特殊的音调列表,也许有些其他语言会缺失,所有主要书写系统的交集已经足以让你高效的在不同字母之间转写(不要跟翻译搞混了)。CFStringTransform 可以在拉丁语和阿拉伯语、西里尔语、希腊语、韩语(韩国)、希伯来语、日语(平假名和片假名)、普通话、泰语之间来回转写。Transformation Input OutputkCFStringTransformLatinArabic mrḥbạ مرحباkCFStringTransformLatinCyrillic privet приветkCFStringTransformLatinGreek geiá sou γειά σουkCFStringTransformLatinHangul annyeonghaseyo 안녕하세요kCFStringTransformLatinHebrew şlwm שלוםkCFStringTransformLatinHiragana hiragana ひらがなkCFStringTransformLatinKatakana katakana カタカナkCFStringTransformLatinThai s̄wạs̄dī สวัสดีkCFStringTransformHiraganaKatakana にほんご ニホンゴkCFStringTransformMandarinLatin 中文 zhōng wén并且这只是用了核心类库中常量定义!直接传入一个ICU transform表达式,CFStringTransform 还可以在拉丁语和阿拉伯语、亚美尼亚语、注音、西里尔字母、格鲁吉亚语、希腊语、汉语、韩语、希伯来语、平假名、印度语(梵文,古吉拉特语,旁遮普文,卡纳达语,马拉雅拉姆语,奥里雅语,泰米尔语,特卢固)、朝鲜语、片假名、叙利亚语、塔纳文、泰语之间转写。正则化用户产生的内容字符串变换的一个更实际的应用是正则化不可预知的用户输入。即使你的应用并不单独处理其他语言,你也应当能智能地处理用户向你的应用输入的任何内容。例如,你想在设备上建立一个可搜索的电影索引,它包含世界各地的人的问候:首先,应用 kCFStringTransformToLatin 变换将所有非英文文本转换为拉丁字母表示。Hello! こんにちは! สวัสดี! مرحبا! 您好! → Hello! kon'nichiha! s̄wạs̄dī! mrḥbạ! nín hǎo!然后,应用 kCFStringTransformStripCombiningMarks 变换来去除变音符和重音。Hello! kon'nichiha! s̄wạs̄dī! mrḥbạ! nín hǎo! → Hello! kon'nichiha! swasdi! mrhba! nin hao!最后,用 CFStringLowercase 转为小写,并用CFStringTokenizer 分词用作文本的索引。(hello, kon'nichiha, swasdi, mrhba, nin, hao)通过对用户输入的文本使用同样的变换,你就可以实现一个通用的搜索,无论搜索文本或内容是什么语言!CFStringTransform 会是个用来按你的要求处理语言的十分强大的工具。并且它是,且仅仅是等着你勇敢地投入Objective-C的温暖怀抱的许多强大特性之一。作者Mattt ThompsonMattt ThompsonMattt Tho
2016-03-0809 miniOSDevLog
iOSDevLog386. nshipster-CFBaghttp://nshipster.cn/cfbag/CFBagMattt Thompson撰写、 Croath Liu翻译、 发布于2012年8月27日Objective-C被夹在了两个世界中间。在其中一边的世界里,Objective-C遵循着经过深思熟虑的、发扬自[Smalltalk]的面向对象哲学理念,这种理念给我们带来了消息传递和参数命名法等好点子。另一边的世界里则避免不了有很多C的残留思想带来强大的力量和一坨混乱。越来越多@符号的使用证明了这个一致性危机。Foundation和Core Foundation的关系里也可以发现这种一致性问题,特别是那一堆无缝连接的类: NSArray / CFArray, NSDictionary / CFDictionary, NSSet / CFSet。这些类可以通过C函数和Objective-C方法传入传出而不需要手动转换。这是抽象化设计的缺陷,但是同时也是写应用时最实用的优化最难以优化部分的绝佳手段。但是这种无缝连接是Foundation和Core Foundation之间集合类型转换的一个例外:Foundation Core Foundation 无缝转换NSArray* CFArray* ✓NSCountedSet CFBag* N/A CFBinaryHeap N/A CFBitVector* NSDictionary* CFDictionary* ✓NSIndexSet* N/A NSMapTable N/A NSOrderedSet N/A NSPointerArray N/A NSPointerFunctions N/A NSSet* CFSet* ✓* 代表同样适用于相应的mutable类型看表格的第二行, NSCountedSet 和 CFBag。注意:不像Foundation和Core Foundation中的其他类型,他们之间不能无缝转换。相关文档中除了提供了 NSCountedSet 的一些简略信息,没有其他实在的内容能解释存在这样的类型转换方式。。我猜是因为 NSCountedSet 没有对应的可变(mutable)类型,于是这就打破了类似 NSArray 那些支持无缝转换的固有模式。Bag,一种抽象数据类型在计算机科学领域集合数据类型的殿堂中,bag没有数组、集合、联合数组、树、图、优先队列那么占有一席之地。其实bag本身就很晦涩,你可能从没听过这东西。Bag,或者叫做multiset,是set的一种变体,不同的是bag里同一数据可以出现不止一次。集合中每一个唯一元素会有一个合计数字与其绑定。类似set一样,bag也是顺序不敏感的。用bag的场景有...咳咳...很少,但有如果它出现你肯定能感觉到那就是bag。大选中统计票数?模拟家庭作业中的概率分布?实现一个Yahtzee骰子游戏?Bag都是你的新选择!使用CFMutableBagCFBag 和它的可变类型同类 CFMutableBag 作为bag类型的具体实现,都是非常灵活的。虽然它们没有像 NSCountedSet 那样方便地面向对象化,但它可以进行的自定义行为却是多种多样的。你可以用带有许多回调的初始化函数来建立一个 CFBag ,这些回调函数定义在 CFBagCallBacks 结构中,该结构详细描述了一个值被插入、删除、比较的方法:Objective-Cstruct CFBagCallBacks { CFIndex version; CFBagRetainCallBack retain; CFBagReleaseCallBack release; CFBagCopyDescriptionCallBack copyDescription; CFBagEqualCallBack equal; CFBagHashCallBack hash;};typedef struct CFBagCallBack
2016-03-0707 miniOSDevLog
iOSDevLog385. nshipster-Address​Book​UIAddress​Book​UIMattt Thompson撰写、 Henry Lee翻译、 发布于2012年10月15日Address Book UI是用来在用户地址簿展示、选择、编辑和创建联系人的iOS框架。与Message UI框架相似,Address Book UI包含了一些可以用dismissViewControllerAnimated:completion:方法来展示的试图控制器,它通过一些统一的接口提供常用的系统功能。要用到这个框架,你需要添加AddressBook.framework和AddressBookUI.framework两个框架到你工程中build phase的"Link Binary With Libraries"之下。乍一看你可能觉得Address Book UI没有什么特别的地方。其实,在iOS 6里,MFMailComposeViewController和ABNewPersonViewController有一些非常棒的内部处理小伎俩在起着作用,Ole Begemann就有一篇很棒的、非常值得读的关于远程视图控制器的文章。抛开剩下的View Controller和协议,Address Book UI还有一个功能十分惊人地有用。ABCreateStringWithAddressDictionary()函数返回一个已经本地化、结构化的地址字符串组。关于这个函数第一个要讨论的问题是包含这些组成结构的字典,这个字典是由以下的常量作为键值的。kABPersonAddressStreetKeykABPersonAddressCityKeykABPersonAddressStateKeykABPersonAddressZIPKeykABPersonAddressCountryKeykABPersonAddressCountryCodeKeykABPersonAddressCountryCodeKey 是一个尤其重要的属性,它决定了用来格式化地址字符串的语言。如果你对国家代码不是很确定或者没有确定的国家代码数据集,你可以通过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。作者Mattt ThompsonMattt ThompsonMattt Thompson (@mattt) is the creator & maintainer of AFNetworking and other popular open-source projects, including Postgres.app, ASCIIwwdc and Nomad.翻译者Henry Lee爱好广泛的 iOS 工程师。下一篇文章NSLinguistic​TaggerNSLinguisticTagger在语言学功能上来讲是一把名副其实的瑞士军刀,它可以讲自然语言的字符串标记为单词、确定词性和词根、划分出人名地名和组织名称、告诉你字符串使用的语言和语系。相关文章NSURLCacheNSLinguisticTaggerNSSortDescriptorUIApplicationDelegate launchOptions 除非另有声明、本网站采用知识共享「署名-非商业性使用 3.0 中国大陆」许可协议授权。本站文章由 Croath Liu 、 、 Delisa Mason 、
2016-03-0705 minGuilty Movie Pleasures2016-01-1347 minWitchpolice Radio2015-10-131h 42Witchpolice Radio2015-05-131h 26