swift – 使用未声明的类型’AttributedString’

前端之家收集整理的这篇文章主要介绍了swift – 使用未声明的类型’AttributedString’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Xcode 8 beta 4不再识别Foundation类的AttributedString.

我在这个简单的游乐场示例中重现了它:

//: Playground - noun: a place where people can play

import Foundation

let attrStr1 = NSAttributedString()
let attrStr2 = AttributedString()  // Use of undeclared type 'AttributedString'

由于AttributedString在较旧的Xcode 8 Swift 3测试版中可用,我想这是一个需要修复的基础bug,而不是Playground中的一些源代码错误

虽然在Xcode发行说明中未记载,但对Swift evolution提议 SE-0086 Drop NS Prefix in Swift Foundation的版本2更新已将“NS”前缀添加回几个基础类,这些类先前已删除前缀.

原因如下:

If the class is planned to have a value-type equivalent in the near future,then keep the NS prefix. Examples: NSAttributedString,NSRegularExpression,NSPredicate.

因此,Swift AttributedString类型将在某个时刻返回,作为下一次结构,而不是一个类.

听起来这些改进中的一些将是“Swift 4的重点领域”.目前,有必要恢复使用NSAttributedString类.

如果您想知道有多少类型受到SE-0086 v2更新的影响,看起来revision会影响~32种类型,这些类型之前已经删除了Swift 3的NS前缀.

猜你在找的Swift相关文章