拼写检查教程

拼写检查教程,第1张

概述作者:Arthur Knopper,原文链接,原文日期:2015-12-22 译者:钟颖Cyan;校对:Cwift;定稿:CMB 译者注:由于原文日期较早,文章代码已更新为新版本。 UITextChecker 对象可以用来对一个字符串进行拼写检查,在这篇教程里面我们将在一个 Table View 里面展示一些单词。当单词被选中的时候,会被进行拼写检查,拼写正确的背景将会变成绿色,否则将会变成红色。

作者:Arthur Knopper,原文链接,原文日期:2015-12-22
译者:钟颖Cyan;校对:Cwift;定稿:CMB

译者注:由于原文日期较早,文章代码已更新为新版本。

UITextChecker 对象可以用来对一个字符串进行拼写检查,在这篇教程里面我们将在一个 table VIEw 里面展示一些单词。当单词被选中的时候,会被进行拼写检查,拼写正确的背景将会变成绿色,否则将会变成红色。本教程在 Xcode 7.2 和 iOS 9 环境下进行。

打开 Xcode 并创建一个新的 Single VIEw Application。用 IOS9SpellingCheckerTutorial 作为项目的名字,然后根据你的习惯填写 Organization name 和 Organization IDentifIEr。选择 Swift 作为开发语言,并且确保 Devices 为仅 iPhone。

从 Storyboard 中把 VIEw Controller 删掉并拖拽一个 Navigation Controller 到空画布中,当初始 VIEw Controller 被删除时项目的入口就不存在了。选择 Navigation Controller 然后打开 Attribute Inspector,在 VIEw Controller 这个区域里面勾选 "Is Initial VIEw Controller"。

双击 table VIEw Controller 的 Navigation bar 然后把标题设置成 "Choose the right spelling"。选择 table VIEw Cell 后打开 Attribute Inspector,在 table VIEw Cell 这个区域把 IDentifIEr 设置成 "cell"

Storyboard 看起来像是这样:

因为删除了 VIEw Controller 从 Storyboard,所以可以同时删掉 VIEwController.swift 文件。在项目中添加一个新的文件,选择 iOS->Source->Cocoa touch Class,把它命名成 tableVIEwController 并继承自 UItableVIEwController。

打开 tableVIEwController.swift 文件并添加下面的成员

let words = ["devalopment","development","devellopment"]

这个数组里面的字符串将会被展示到 table VIEw 上面。下一步,修改预定义的代理方法:

overrIDe func numberOfSections(in tableVIEw: UItableVIEw) -> Int {        return 1;    }        overrIDe func tableVIEw(_ tableVIEw: UItableVIEw,numberOfRowsInSection section: Int) -> Int {        return words.count    }        overrIDe func tableVIEw(_ tableVIEw: UItableVIEw,cellForRowAt indexPath: IndexPath) -> UItableVIEwCell {        let cell = tableVIEw.dequeueReusableCell(withIDentifIEr: "cell",for: indexPath)        // 配置 cell...        cell.textLabel?.text = words[indexPath.row]        cell.textLabel?.backgroundcolor = UIcolor.clear        return cell    }

通过单词数组来展示 table VIEw,有一个区域,一共三行。cell 的背景色设置成透明色,因为在之后 cell 的背景色将会改变。当用户选中列表中的一行时,代理方法 tableVIEw(_:dIDSelectRowAt:) 将会被调用:

overrIDe func tableVIEw(_ tableVIEw: UItableVIEw,dIDSelectRowAt indexPath: IndexPath) {        let cell = tableVIEw.cellForRow(at: indexPath)!        if wordisSpelledCorrect(word: (cell.textLabel?.text)!) {            cell.backgroundcolor = UIcolor.green        } else {            cell.backgroundcolor = UIcolor.red        }                tableVIEw.reloadData()    }

table VIEw Cell 将会被来自单词数组里面的单词初始化。如果单词拼写正确,cell 的背景色将变成绿色,否则将会变成红色。实际拼写检查的代码将会在 wordisSpelledCorrect 方法里面实现:

func wordisSpelledCorrect(word: String) -> Bool {    let checker = UITextChecker()    let range = NSMakeRange(0,word.characters.count)    let wordRange = checker.rangeOfMisspelleDWord(in: word,range: range,startingAt: 0,wrap: false,language: "en")        return wordRange.location == NSNotFound}

UITextChecker 类可以用来检测一个字符串是否拼写正确,检测范围是整个单词。rangeOfMisspelleDWordInString 方法用来检查拼写错误的范围。如果一个单词拼写正确的话,返回范围的 location 将会是 NSNotFound ,所以返回值是 true,否则的话返回 false

编译并运行项目,选择列表的一行,如果拼写正确的话背景色会变成绿色,否则的话会变成红色。

你可以在 ioscreator 的 GitHub 仓库里面找到 IOS9SpellingCheckerTutorial 的源码。

本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg。

总结

以上是内存溢出为你收集整理的拼写检查教程全部内容,希望文章能够帮你解决拼写检查教程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1064331.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存