- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在使用 NSAttributedStringKey.attachment 与 NSAttachmentAttributeName 时遇到了问题。相关代码如下:
var key: Any?
if #available(iOS 11, *) {
key = NSAttributedStringKey.attachment
}
else {
key = NSAttachmentAttributeName
}
两件事之一正在发生。在我尝试使用此代码的实际位置(我自己设计的 Cococapod,部署目标为 iOS 8,现在使用 Xcode 9 构建),我收到错误消息:
Type 'NSAttributedStringKey' (aka 'NSString') has no member 'attachment'
或者,如果我只是创建一个新的示例项目并将部署目标设置为 iOS 8,我会得到:
'NSAttachmentAttributeName' has been renamed to 'NSAttributedStringKey.attachment'
这不是我期望的 #available
行为。想法?
最佳答案
String
与 struct
的区别在于 Swift 3(使用 String
,例如 NSAttachmentAttributeName
)和 Swift 4(使用结构静态属性,例如 NSAttributedStringKey.attachment
),不在 iOS <11 和 iOS >=11 之间。例如,您可以在 Swift 4 项目中使用 NSAttributedStringKey.attachment
和任何支持版本的 iOS 中的类似内容(例如 .attachment
自 iOS 7 起可用)。 #available
不适用,因为它是 Swift 语言版本差异而不是操作系统版本差异。
确保您的 pod 设置为正确的 Swift 版本,然后它应该可以按预期工作。您可以通过在项目顶部添加一个 .swift-version
文件来告诉 CocoaPods:
$ echo 4.0 >.swift-version
这个神奇的版本文件在去年的一篇 CocoaPods 博文中被提及:http://blog.cocoapods.org/CocoaPods-1.1.0/
关于ios - NSAttributedStringKey.attachment 与 NSAttachmentAttributeName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46145780/
我正在按照在线教程构建一个杂志类型的 iOS 应用程序。我正在尝试使用 NSAttributedStringKey 但不断收到如下所示的错误。有什么想法吗? 这是导致错误的代码行: let attrs
我想计算文本的高度以获得 Collection View 单元格的估计高度。我在 collectionViewLayout 函数中使用了以下代码; func collectionView(_ coll
可以通过 largeTitleTextAttributes 自定义新的大标题功能,(与任何其他属性一样) dictionary with NSAttributedStringKey 键。其中一个键是
处理一些 objC API,我收到一个 NSDictionary *>转换为 [String : Any]在 Swift 中,我将其用于 NSAttributedString.addAttribute
我正在使用 ZSWTappableLabel 和 ZSWTaggedString 来显示标签内的链接。 import ZSWTappableLabel import ZSWTaggedString p
这个问题在这里已经有了答案: How can I both stroke and fill with NSAttributedString w/ UILabel (5 个答案) 关闭 4 年前。 我
我最近转换了我的应用程序,但不断收到错误消息 "Cannot convert value of type '[String : Any]' to expected argument type '[NS
我在使用 NSAttributedStringKey.attachment 与 NSAttachmentAttributeName 时遇到了问题。相关代码如下: var key: Any?
我在使用库中的 Swift 代码时遇到了一些问题,我已经使用了一段时间。这似乎与某种版本冲突有关,但我不确定。 代码如下: let attribMsg = NSAttributedString(str
更新到 Swift 4 后,我收到此代码的错误 attributes["NSFont"] = font attributes["NSColor"] = UIColor(red: 0.0
下面是针对上述问题的代码行。此问题发生在 Swift 4.1 中。 let textAttributes = [NSAttributedStringKey.foregroundColor:UIColo
我正在尝试在我的应用程序中创建一个超链接,并且正在实现此解决方案: let attributedString = NSMutableAttributedString(string: "Just cli
刚刚更新了 xcode 9 的 pod,我收到以下关于 Cosmos 的错误. Type 'NSAttributedStringKey' (aka 'NSString') has no member
这个问题在这里已经有了答案: Swift 4 Cannot convert value of type '[String : AnyObject]?' to expected argument ty
我将我的代码从 Swift 3 转换为 Swift 4 但出现此错误: Type 'NSAttributedStringKey' has no member 'foregroundColorNSAtt
我对 NSAttributedStringKey 和 UITextView 有疑问 事实上,我正在尝试这样做: 这是理论上应该有效的代码 class ViewController: UIViewCon
将我的代码从 swift 3 转换为 4 并得到错误无法将类型“[String:Any]”的值转换为预期的参数类型“[NSAttributedStringKey:Any]” 在线 attributed
这个问题在这里已经有了答案: Cannot convert value of type '[String : AnyObject]?' to expected argument type '[NSA
这个问题在这里已经有了答案: Swift 4 attributedString get typing attributes (3 个答案) 关闭 5 年前。 我曾经能够生成 NSAttributed
iOS 部署目标:iOS 9.3,基础 SDK:最新的 iOS (iOS 11.0),Xcode 9 测试版 4, swift 4 以下代码在 Swift 3、Xcode 8 中构建和运行:
我是一名优秀的程序员,十分优秀!