当前位置: 首页 > 面试题库 >

使用未声明的类型'AttributedString'

杨轶
2023-03-14
问题内容

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
Beta中可用,我想这是一个Foundation需要修复的错误,而不是Playground中的某些源代码错误?


问题答案:

尽管未在Xcode发行说明中记录,但Swift Foundation中对Swift进化建议SE-0086
Drop NS Prefix
的第2版更新已将“
NS”前缀重新添加到了几个先前删除该前缀的Foundation类中。

原因如下:

如果计划在不久的将来使该类具有等效的值类型,则保留NS前缀。示例:NSAttributedString,NSRegularExpression,NSPredicate。

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

听起来其中一些改进将成为“ Swift 4的重点领域”。现在,有必要恢复使用NSAttributedString该类。

如果您想知道SE-0086 v2更新影响了多少种类型,看起来该 版本会影响〜32种类型,这些类型以前已为Swift
3删除了NS前缀。



 类似资料:
  • cc.Class 是一个很常用的 API,用于声明 Cocos Creator 中的类,为了方便区分,我们把使用 cc.Class 声明的类叫做 CCClass。 定义 CCClass 调用 cc.Class,传入一个原型对象,在原型对象中以键值对的形式设定所需的类型参数,就能创建出所需要的类。 var Sprite = cc.Class({ name: "sprite" }); 以上代

  • 问题内容: 我了解在创建这样的新对象时: 更通用,并且允许更多的可重用性,但是当创建tri时会发生以下情况: 由于Triangle是GeomObject的子类,因此tri还是不是GeomObject?声明的类型如何影响编译?谢谢 add:另一个问题:说我有 Integer n1 = new Integer(3); Object n2 = new Integer(4); System.out.pri

  • 本文向大家介绍如何使用JSP声明来声明类的对象?,包括了如何使用JSP声明来声明类的对象?的使用技巧和注意事项,需要的朋友参考一下 声明声明了一个或多个变量或方法,您可以稍后在JSP文件中的Java代码中使用它们。在JSP文件中使用变量或方法之前,必须先声明该变量或方法。 以下是JSP声明的语法- 您可以编写与上述语法等效的XML,如下所示- 以下是JSP声明中对象声明的示例-

  • 我有以下代码: 我编译此文件时出错: 但是,删除内部模块并编译它本身包含的代码运行良好: 我错过了什么?如果模块位于单独的文件中,我会收到相同的错误: main.rs a.rs

  • 问题内容: 我机智的结束了。经过十多个小时的故障排除(可能还有更多),我认为自己终于可以从事业务了,但是后来我得到了: 网络上对此信息很少,目前还没有解决方案解决了我的问题。任何建议将不胜感激。 我正在使用Python 3.4和Django 1.10。 从我的settings.py: 我的apps.py文件如下所示: 和 问题答案: 你是否缺少将应用程序名称放入设置文件中的信息?这是.manage

  • 声明性映射样式是SQLAlchemy使用的主要映射样式。参见章节 声明性映射 对于最高层的介绍。 具有声明性的表配置 声明性表格 访问表和元数据 声明性表配置 具有声明性表的显式架构名称 添加新列 带命令表的声明性(又称混合声明性) 用反射表声明性地映射 使用DeferredReflection 使用自动映射 具有声明性的映射器配置 使用声明性定义映射属性 具有声明性的映射器配置选项 其他声明性映