CLPlacemark - 状态缩写?

2023-12-27

我想知道是否可以从 CLPlacemark 获取州缩写?

Apple 的 CLPlacemark Reference 中指出:

行政区域 与地标关联的州或省。 (只读) @property(非原子,只读) NSString *administrativeArea 讨论 例如,如果地标位置是 Apple 总部,则此属性的值将是字符串“CA”或“California”。

但每当我使用它时,我只能得到完整的州(即加利福尼亚州),而不是缩写(即 CA)。有人能帮我一下吗?


对于需要解决方案的其他人,我为 CLPlacemark 创建了一个类别类,它返回短状态字符串。您所需要做的就是致电myPlacemark shortState

CLPlacemark+ShortState.h

#import <CoreLocation/CoreLocation.h>
#import <Foundation/Foundation.h>

@interface CLPlacemark (ShortState)

- (NSString *)shortState;

@end

CLPlacemark+ShortState.m

#import "CLPlacemark+ShortState.h"

@interface CLPlacemark (ShortStatePrivate)

- (NSDictionary *)nameAbbreviations;

@end

@implementation CLPlacemark (ShortState)

- (NSString *)shortState {

    NSString *state = [self.administrativeArea lowercaseString];

    if (state.length==0)
        return nil;

    return [[self nameAbbreviations] objectForKey:state];

}

- (NSDictionary *)nameAbbreviations {

    static NSDictionary *nameAbbreviations = nil;

    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{

        nameAbbreviations = [NSDictionary dictionaryWithObjectsAndKeys:
                             @"AL",@"alabama",
                             @"AK",@"alaska",
                             @"AZ",@"arizona",
                             @"AR",@"arkansas",
                             @"CA",@"california",
                             @"CO",@"colorado",
                             @"CT",@"connecticut",
                             @"DE",@"delaware",
                             @"DC",@"district of columbia",
                             @"FL",@"florida",
                             @"GA",@"georgia",
                             @"HI",@"hawaii",
                             @"ID",@"idaho",
                             @"IL",@"illinois",
                             @"IN",@"indiana",
                             @"IA",@"iowa",
                             @"KS",@"kansas",
                             @"KY",@"kentucky",
                             @"LA",@"louisiana",
                             @"ME",@"maine",
                             @"MD",@"maryland",
                             @"MA",@"massachusetts",
                             @"MI",@"michigan",
                             @"MN",@"minnesota",
                             @"MS",@"mississippi",
                             @"MO",@"missouri",
                             @"MT",@"montana",
                             @"NE",@"nebraska",
                             @"NV",@"nevada",
                             @"NH",@"new hampshire",
                             @"NJ",@"new jersey",
                             @"NM",@"new mexico",
                             @"NY",@"new york",
                             @"NC",@"north carolina",
                             @"ND",@"north dakota",
                             @"OH",@"ohio",
                             @"OK",@"oklahoma",
                             @"OR",@"oregon",
                             @"PA",@"pennsylvania",
                             @"RI",@"rhode island",
                             @"SC",@"south carolina",
                             @"SD",@"south dakota",
                             @"TN",@"tennessee",
                             @"TX",@"texas",
                             @"UT",@"utah",
                             @"VT",@"vermont",
                             @"VA",@"virginia",
                             @"WA",@"washington",
                             @"WV",@"west virginia",
                             @"WI",@"wisconsin",
                             @"WY",@"wyoming",
                             nil];
    });

    return nameAbbreviations;
}

@end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CLPlacemark - 状态缩写? 的相关文章

  • 无法构建 Saurik 的 ldid 实用程序

    当我执行此命令 make sh 时 我遇到这些错误 构建用于越狱调整开发的 ldid 实用程序 Bilals Mac ldid billy make sh g arch i386 arch x86 64 arch ppc arch armv
  • 在 Objective-C 中比较 2 个字符串

    我写了以下代码 if depSelectedIndice gt 1 comSelectedIndice gt 1 NSLog depart elemet d depSelectedIndice NSLog depart elemet d c
  • 使用 iOS 8 自定义键盘发送图像?

    我一直在为 iOS 8 开发自定义键盘 但在尝试使用键盘发送图像时偶然发现了一个问题 我做了一些研究 似乎没有一种简单的方法可以做到这一点UITextDocumentProxy因为只有NSStrings被允许 我是否忽略了使用自定义键盘发送
  • 将永久字符添加到 UITextField

    有没有办法将字母永久添加到 UITextField 中 用户无法删除它 我想添加一个字符 用户无法删除它 但他们仍然可以在之后添加字母 Cheers 附注这是适用于 iOS 的 A UITextField有一个名为 应该更改范围内的字符 的
  • Swift Generics 在使用继承时不会实例化泛型

    我有课Alpha and Berry class Alpha class Berry Alpha 我有一个使用继承及其泛型的函数 func myFunc
  • NSString – 静态还是内联?有性能提升吗?

    如果我写的话会有任何性能提升吗 NSString helloStringWithName NSString name static NSString formatString Hello return NSString stringWith
  • iPhone 应用程序中的异步、同步、线程

    我正处于一个应用程序的设计阶段 该应用程序将利用 REST Web 服务 并且在使用异步 同步和线程方面遇到了困境 这是场景 假设您有三个选项可供深入研究 每个选项都有自己的基于 REST 的资源 我可以使用同步请求延迟加载每个请求 但这会
  • 如何在 Core Data 中存储图像?

    只是猜测 我创建一个属性并将其类型设置为 二进制 但最终我该如何使用它呢 我猜幕后有一个 NSData 那么该属性实际上采用 NSData 吗 这个问题已经被问过很多次了 答案有点复杂 当涉及二进制数据时 您应该根据要使用的数据的预期大小来
  • 在 WKWebView 中禁用放大手势

    我正在寻找一种方法来禁用 WKWebView 的 iOS 实现上的 捏合缩放 放大手势 OS X 有一个 magnification BOOL 属性 但在 iOS 上似乎不可用 WKWebView h if TARGET OS IPHONE
  • 如何在 iOS 9 上可靠地检测是否连接了外部键盘?

    在 iOS 9 之前 确定是否连接外部键盘的最可靠方法是监听UIKeyboardWillShowNotification并使文本字段成为第一响应者 如中所述这个问题 https stackoverflow com questions 289
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • 在 iOS 上将 NSString 转换为 NSDate 的正确方法?

    我一直在使用此方法将常规 NSString 对象转换为 NSDate 但尝试向 Apple 提交更新 但遭到拒绝 在 iOS 中还有什么其他方法可以做到这一点 NSString date str 2011 08 12T12 20 00Z N
  • 覆盖层不与 UITableView 一起滚动 - iOS

    我有一个 UITableView 类 它使用以下方法在转到下一个屏幕时调用加载覆盖 问题是这个加载屏幕不随列表滚动 所以如果你滚动一点并单击某些东西 加载屏幕不会显示 因为它位于顶部 如何让加载屏幕始终保持在 UITableView 的顶部
  • 将 SSLSetEnabledCiphers 与 AFNetworking 结合使用来禁用弱密码

    我正在尝试禁用一些密码 弱 例如单个 DES 单个 DES 40 位等 我尝试过使用这段代码在 Cocoa 中使用 CFSocket CFStream 时如何设置 SSL 密码 https stackoverflow com questio
  • 如何使用 Swift 使用 TouchID?

    Apple 为 iOS 8 的 TouchID 实现提供的文档采用 Objective C 语言 有 Swift 版本吗 Objective C IBAction touchIDAvailable UIButton touchIDAvail
  • 如何禁用 iPhone 邮件应用程序中的电话号码链接?

    我的公司正在发送数字电子邮件收据 但遇到了 iPhone Mail 检测数字数据并将其自动链接为电话号码的问题 我已经看到元标记应该可以解决 iPhone 上的 Mobil Safari 中的问题 但该技巧似乎不适用于 Mail 有谁知道如
  • 减少 CoreData 的调试输出?

    我正在开发一个使用 CoreData 的 iOS macOS 项目 它工作正常 但它会向控制台输出大量调试信息 这使得控制台无法使用 因为我的打印语句隐藏在所有与 CoreData 相关的内容中 我有一个非常简单的 CoreData 设置
  • ios水平居中约束问题?

    I am having hard time in learning constraints auto layout in iOS I have used any width any height I have a storyboard sc
  • 根据 iOS 版本使用不同的类实现?

    iOS 11 最近添加了一个我想使用的新功能 但我仍然需要支持旧版本的 iOS 有没有一种方法可以将同一个类编写两次 并让较新版本的 iOS 使用该类的一个版本 而旧版本的 iOS 使用另一个版本 注 最初我用的是if available
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None

随机推荐

  • 在 PHP 中使用 vs include 作为导入语句

    我有两个简单的文件 文件1 php
  • 声明为属性时如何初始化 NSArrays / NSMutableArrays

    我需要一些帮助来理解如何使用 NSArrays NSMutableArrays 作为属性 数组应该具有哪些属性 强属性还是复制属性 在什么情况下我应该使用哪个属性 如何在代码中初始化数组 我的属性数组应该是 NSArray 还是 NSMut
  • 我可以在 Spring MVC 的拦截器中使用 RedirectAttributes 或 FlashMap

    我有一个拦截器来处理用户会话 如果user属性不存在 那么拦截器将重定向到登录页面 我想发送一个session timeout带有重定向 url 的消息 但我不希望 url 中包含该消息 我用谷歌搜索了很多RedirectAttribute
  • 检测到屏幕覆盖层会阻止 Android 权限

    我注意到我的新手机上的 Android 应用程序出现了一个奇怪的问题 SDK 23 权限弹出窗口 例如外部存储 被下面附加的警报阻止 我最初以为这与我的手机有关 但它似乎并没有影响我安装的任何其他应用程序 这个问题可能与安装了调试版本有关
  • 如何使用 django 在网络浏览器上推送通知

    我在 Django 中创建了一个 Todo Web 应用程序 并将其部署在 Heroku 上 我想知道如何在浏览器中推送即将执行的任务的通知 提前致谢 您应该使用 Django 的 websockets 和异步功能 以便能够在发生实时通知时
  • iPhone - 在应用程序内购买恢复产品提示登录警报两次[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在为非
  • 如何使用 IBM Watson Assistant 显示视频

    我已经使用 IBM Watson Assistant 创建了一个聊天机器人 并且需要加载一些响应的视频 如何将视频嵌入聊天机器人的响应中 您可以使用 HTML 标签将视频嵌入到响应框中 如下所示 请注意 HTML 标签在 试用 面板中不起作
  • C++ 映射的线程同步

    我正在使用 pthread c 98 标准 创建一个多线程 C 程序 我有一个多个线程将访问的 std map 访问将使用 find 添加和删除元素 以及使用 运算符访问元素 我知道使用 运算符进行读取 甚至用它修改元素是线程安全的 但其余
  • 返回 NaN 的数组数组

    那么为什么 myarray bla bl 总是等于 NaN 如果我对一维 myarray bla 做同样的事情 我会得到数字 var bla blabla var bl bla var myarray for i 0 i lt 10 i i
  • 如何对 iPhone 通讯录进行排序?

    我如何以编程方式按名字和姓氏对 iphone 通讯录进行排序 或检索排序数组 任何帮助将不胜感激 谢谢 Call ABAddressBookCopyArrayOfAllPeople 获取地址簿中所有人员记录的数组 然后关注文档 http d
  • django/ajax:无法在views.py中获取Ajax发布数据

    我从 django 后端获取 ajax post 数据时遇到问题 我不知道如何传递该值 请帮忙 在 html 中我只有这样
  • 如何在 Spring 中为 @Service 命名多个名称?

    我需要类似的东西 Named bean1 bean2 Service bean1 bean2 我该怎么做 不是直接的 按照你的方式 但这可以通过重新定义现有的 Service or Component as a Bean无论是一个名字还是一
  • 使用 firebase 部署 React 应用程序时如何隐藏源代码?

    这是我在 stackoverflow 上的第一篇文章 我写信是因为我找不到问题的明确答案 我不知道标题是否正确 但这就是我的意思 情况 我正在使用 React 创建一个单页面应用程序 并打算使用 Node js 和 Express js 构
  • 无法使用 varbinary 更新个人资料图片

    我正在尝试使用 varbinary SQL Server 2008 更新我的个人资料图片 它似乎没有更新我放在文件上传中的图片 下面是我用来更新我的个人资料图片的代码 请帮我看看我的编码的哪一部分做错了 谢谢 protected void
  • 使用 Ninject 2 将参数传递给 WCF ServiceHost 类型

    我想使用 Ninject Wcf 扩展来创建参数化服务主机实例 例如我有一堂课MyWCFHandler仅有以下构造函数 public MyWCFHandler UserManager manager manager manager 但是当我
  • Shiny 默认字体是什么?

    Shiny 默认字体是什么 去哪里查呢 library shiny ui lt fluidPage What font is used here server lt function input output session shinyAp
  • 如何从所有文档中仅返回数组的嵌套文档

    我有一个关于查询嵌套文档的问题 我尝试搜索 但没有任何答案回答我的问题 或者我可能忽略了它 我有这样的结构 id ObjectId 592aa441e0f8de09b0912fe9 name Patrick Rothfuss books t
  • 数据丢失 TCP IP C# [重复]

    这个问题在这里已经有答案了 这是我的代码 private void OnReceive IAsyncResult result NetStateObject state NetStateObject result AsyncState So
  • for 循环内声明的变量范围

    for int i 0 i lt 10 i int j 0 j 是块变量还是局部变量 我看到 j 的范围仅限于 for 循环结束 局部变量在方法 构造函数或块中声明 由此可见 所有块变量都是局部变量 根据定义Block http docs
  • CLPlacemark - 状态缩写?

    我想知道是否可以从 CLPlacemark 获取州缩写 Apple 的 CLPlacemark Reference 中指出 行政区域 与地标关联的州或省 只读 property 非原子 只读 NSString administrativeA