【ios开发/Xcode】实现关键字检索

103 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

【ios开发/Xcode】实现关键字检索

实现效果

在这里插入图片描述

源代码

注:@开头的这些代码都是需要关联控键,都需要自行在故事板中(Storyboards)进行关联

import UIKit

class ViewController: UIViewController,UITextFieldDelegate,UITextViewDelegate {
//定义label等各个控件
    let label1 = UILabel(frame:CGRect(x:80,y:30,width:220,height:40))
    let label2 = UILabel(frame:CGRect(x:30,y:80,width:100,height:40))
    let input = UITextView(frame:CGRect(x:30,y:120,width:360,height:200))
    let label3 = UILabel(frame:CGRect(x:30,y:330,width:150,height:40))
    let key = UITextField(frame:CGRect(x:160,y:330,width:200,height:40))
    let label4 = UILabel(frame:CGRect(x:50,y:370,width:300,height:60))
    var keyword: String = " "
    var paragraph: String = " "

    override func viewDidLoad() {
        super.viewDidLoad()
        label1.text = "检索段落中关键字出现次数"
        label1.textColor = UIColor.blue
        label2.text = "请输入段落:"
        label2.textColor = UIColor.blue
        input.backgroundColor = UIColor.green
        input.textColor = UIColor.blue
        label3.text = "请输入关键字:"
        label3.textColor = UIColor.blue
        key.borderStyle = UITextBorderStyle.line
        key.placeholder = "请输入关键字"
        label4.text = "关键字出现次数:?????"
        label4.textColor = UIColor.blue
        input.delegate = self
        key.delegate = self
        self.view.addSubview(label1)
        self.view.addSubview(label2)
        self.view.addSubview(input)
        self.view.addSubview(label3)
        self.view.addSubview(label4)
        self.view.addSubview(key)
}
//定义单词检索函数
    func searchKeyword(theString:String,theSubs:String)->Int{
        let countsOfKeyword = theString.components(separatedBy: theSubs).count-1
        return countsOfKeyword
}
    func textView(_ textView:UITextView,shouldChangeTextIn range:NSRange,replacementText text:String)->Bool{
        if(text == "\n")
        {
            self.key.becomeFirstResponder()
        }
        return true
}
//定义结果函数
    func textField(_ textField:UITextField,shouldChangeCharactersIn range:NSRange,replacementString string:String)->Bool{
        keyword = key.text!
        paragraph = input.text
        let counts = searchKeyword(theString:paragraph,theSubs:keyword)
        label4.text = " 关键字: \(keyword)出现了\(counts)次"
        return true
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

编码思想

1、实验目的

掌握iOS app 的开发过程,理解APP中MVC架构的实现,使用基础控件完成简单视图页面的跳转控制。

2、实验使 用环境

macOS

3、实验内容与设计思想

1. 熟悉视图的基本属性,了解系统中视图的层次关系。

2. 掌握基本控件的使用方法。

3. 学习基础控件的属性及使用方法

4. 掌握建立视图界面的两种方法。分别使用两种方法完成课件中关键字检索的例子。

5. 开发一个注册登录视图。设计初始视图页面,利用两个控件按钮分别响应注册功能和登录功能。注册可输入相关用户名和密码信息,考虑将相关用户名和密码信息保存在字典或数组等数据结构中。登录功能需比较用户密码是否相吻合,在新的视图中完成相关功能,完成后给出提示,并切换回初始页面,显示欢迎信息。