Xcode 8 beta 4不再识别基础课程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测试版中可用,我想这是一个需要修复的Foundation
错误,而不是Playground中的一些源代码错误?
答案 0 :(得分:10)
虽然在Xcode发行说明中未记载,但对Swift evolution proposal SE-0086 Drop NS Prefix in Swift Foundation的第2版更新增加了" NS"前缀回几个先前删除了前缀的基础类。
原因如下:
如果该类计划在不久的将来具有值类型等效,则保留NS前缀。示例:NSAttributedString,NSRegularExpression,NSPredicate。
因此,Swift AttributedString
类型将在某个点返回,作为下一次结构,而不是类。
听起来这些改进中的一些将成为Swift 4的重点领域。"目前,有必要恢复使用NSAttributedString
类。
如果您想知道有多少类型受到SE-0086 v2更新的影响,看起来revision会影响~32种类型,这些类型之前已经删除了Swift的NS前缀3。