首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SWIFT3.2项目中实现NSLinguisticTagger时出现“无成员NSLinguisticTagger”错误

在SWIFT3.2项目中实现NSLinguisticTagger时出现“无成员NSLinguisticTagger”错误
EN

Stack Overflow用户
提问于 2018-01-02 02:59:09
回答 1查看 257关注 0票数 0

我试图在SWIFT3.2的macOS项目中使用macOS。

这段代码在Swift 4中运行良好

代码语言:javascript
复制
let tagger = NSLinguisticTagger(tagSchemes: [.nameType], options: 0) // edited

但是,给出了错误:

类型'String‘没有成员'nameType’//编辑

在Swift 3.2项目中。我试着遵循旧的NSLinguisticTagger教程,但我找不到“.name”部分的替代品。是否可以修复此问题,或者我必须将项目更新为Swift 4?

NSLinguisticTagger文档

NSHipster NSLinguisticTagger 2012教程

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-02 04:02:34

首先,我要道歉,我首先写了一个答案,但没有确认我的设置是真的正确。下面的描述是根据我认为正确的设置更新的。(Xcode 9.2,目标Swift版本设置为3.2。改变项目Swift版本不会影响目标Swift版本,哦,我的羞耻.

当您想使用旧的Swift版本时,一些Swift友好的包装器类型是不可用的,API和常量是用简单的规则从Objective世界导入的。在这种情况下,您需要用这样的规则重新解释引用的Objective版本。

NSLinguisticTagScheme

正如您在上面链接的文章中所看到的,NSLinguisticTagScheme只是String的一个类型,常量被命名为NSLinguisticTagSchemeNameType,就像在您的问题的链接中的文章中一样。它们是按旧Swift版本进口的。

因此,这是在Swift 3.2中编译的:

代码语言:javascript
复制
let tagger = NSLinguisticTagger(tagSchemes: [NSLinguisticTagSchemeNameType], options: 0)

(不过,我还是强烈建议你改用Swift 4。因为苹果的官方推荐信是基于Swift的最新版本,所以它是Swift 4。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48055117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档