下面是我写第self.MessageTextField.delegate = self行时的错误:

/ChatApp/ViewController.swift:27:42:无法将"ViewController"类型的值分配给"UITextFieldDelegate"类型的值

这是我的Swift代码(ViewerController.Swift):

//
//  ViewController.swift
//  ChatApp
//
//  Created by David Chen on 15/4/12.
//  Copyright (c) 2015年 cwsoft. All rights reserved.
//

import UIKit
import Parse

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    var messagesArray:[String] = [String]()

    @IBOutlet weak var MessageTableView: UITableView!
    @IBOutlet weak var ButtonSend: UIButton!
    @IBOutlet weak var DockViewHeightConstraint: NSLayoutConstraint!
    @IBOutlet weak var MessageTextField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        //
        self.MessageTableView.delegate = self
        self.MessageTableView.dataSource = self
        //Set delegate
        self.MessageTextField.delegate = self

        self.messagesArray.append("Test 1")
        self.messagesArray.append("Test 2")
        self.messagesArray.append("Test 3")
    }

    @IBAction func ButtonSendPressed(sender: UIButton) {
        self.view.layoutIfNeeded()
        UIView.animateWithDuration(0.5, animations: {
            self.DockViewHeightConstraint.constant = 400
            self.view.layoutIfNeeded()
            }, completion: nil)
    }

    //MARK : TextField Delegage Methods


    //MARK : Table View Delegate Methods

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = self.MessageTableView.dequeueReusableCellWithIdentifier("MessageCell") as! UITableViewCell
        cell.textLabel?.text = self.messagesArray[indexPath.row]
        return cell
    }

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return messagesArray.count
    }
}

推荐答案

由于try 将self指定为UITextFielddelegate,所以第self.MessageTextField.delegate = self行会导致错误

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UITextFieldDelegate

Swift相关问答推荐

为什么在Swift属性Wrapper中需要类型注释?

";async let和";async之间的差异让我们等待";

如何访问用户选定目录下的(只读)文件?

传递给SWIFT ResultBuilder的闭包中结果类型的对象

在SwiftUI中判断选项时避免重复查看

如何强制创建新的UIViewControllerRenatable|更新Make UIViewController上的视图

在SwiftUI中绘制形状的路径后填充形状

如何使 onKeyPress 与 TextField 快速配合使用?

按数组大小进行类型判断?

计算 CoreData 中所有唯一对象的数量?

解码 JSON 时 Swift Struct Decoder 初始化程序错误

如何在 SwiftUI 中创建条件内容?

标有@MainActor 的函数中的异步调用是否也在主线程上运行?

Swift Random Float Fatal Error:在无限范围内没有均匀分布

如何判断一个值是否为 Int 类型

SwiftUI View .tint(_ Color) 方法不起作用

为什么swiftui中的导航视图栏那么大?

AVPlayer 在 iOS 15.4 中寻求 completionHandler 返回 false

Swift - 获取本地日期和时间

快速在 LLDB 中使用 po