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”前缀添加回几个基础类,这些类先前已删除前缀.
原文链接:https://www.f2er.com/swift/319941.html原因如下:
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前缀.