如何在 Swift 语言中分配文本字段或任何委托?
How to assign textfield or any delegate in Swift Language?
我只是 Swift 语言的新开发者。
我想将文本字段委托分配给视图控制器。我试过这样分配
class LoginViewController: UIViewController <UITextFieldDelegate>
返回以下错误 "Cannot specialize non-generic type 'UIViewController'"
您需要使用逗号添加您想要遵守的协议:
class LoginViewController: UIViewController, UITextFieldDelegate
您只能从一个 class 扩展 ,但可以根据需要遵守任意多的协议:
class LoginViewController: UIViewController, UITextFieldDelegate, UIAlertViewDelegate
来自Apple doc:
class SomeClass: SomeSuperclass, FirstProtocol, AnotherProtocol {
// class definition goes here
}
请使用逗号添加委托/数据源/协议:
class MyClass: UIViewController ,UITableViewDelegate, UITableViewDataSource ..
{...}</pre>
我想补充一点,您可以通过在 class:
的 extension
中遵循您的协议来分离代码以提高可读性
class DetailViewController: UIViewController {
[your class implementation]
}
extension DetailViewController: UICollectionViewDelegate, UICollectionViewDataSource {
[list of your delegate methods]
}
我个人更喜欢这种方法。
我只是 Swift 语言的新开发者。 我想将文本字段委托分配给视图控制器。我试过这样分配
class LoginViewController: UIViewController <UITextFieldDelegate>
返回以下错误 "Cannot specialize non-generic type 'UIViewController'"
您需要使用逗号添加您想要遵守的协议:
class LoginViewController: UIViewController, UITextFieldDelegate
您只能从一个 class 扩展 ,但可以根据需要遵守任意多的协议:
class LoginViewController: UIViewController, UITextFieldDelegate, UIAlertViewDelegate
来自Apple doc:
class SomeClass: SomeSuperclass, FirstProtocol, AnotherProtocol {
// class definition goes here
}
请使用逗号添加委托/数据源/协议:
class MyClass: UIViewController ,UITableViewDelegate, UITableViewDataSource ..
{...}</pre>
我想补充一点,您可以通过在 class:
的extension
中遵循您的协议来分离代码以提高可读性
class DetailViewController: UIViewController {
[your class implementation]
}
extension DetailViewController: UICollectionViewDelegate, UICollectionViewDataSource {
[list of your delegate methods]
}
我个人更喜欢这种方法。