Ios Swift3:类型为'的值;(任何)——>;()';没有成员';setTitle';
我正在尝试登录,我正在进行测试,当日志正确时我正在尝试更改按钮的标题,但我收到了此错误:类型为“(Any)->()”的值没有成员“SetTitle”。然后我给你留下代码和截图 我需要帮助,因为我被阻止了,无法继续。一切帮助都将不胜感激。多谢各位 这是我的密码Ios Swift3:类型为'的值;(任何)——>;()';没有成员';setTitle';,ios,swift,Ios,Swift,我正在尝试登录,我正在进行测试,当日志正确时我正在尝试更改按钮的标题,但我收到了此错误:类型为“(Any)->()”的值没有成员“SetTitle”。然后我给你留下代码和截图 我需要帮助,因为我被阻止了,无法继续。一切帮助都将不胜感激。多谢各位 这是我的密码 import UIKit class LogViewController: UIViewController { @IBOutlet weak var _username: UITextField! @IBOutlet
import UIKit
class LogViewController: UIViewController {
@IBOutlet weak var _username: UITextField!
@IBOutlet weak var _password: UITextField!
@IBAction func _login_button(_ sender: Any) {
let username = _username.text
let password = _password.text
if(username == "" || password == "")
{
return
}
DoLogin(username!, password!)
}
func DoLogin(_ user:String, _ psw:String)
{
let url = URL(string: "http://localhost/bill/userLogin.php")
let session = URLSession.shared
let request = NSMutableURLRequest(url: url!)
request.httpMethod = "POST"
let paramToSend = "username=" + user + "&password=" + psw
request.httpBody = paramToSend.data(using: String.Encoding.utf8)
let task = session.dataTask(with: request as URLRequest, completionHandler: {
(data, response, error) in
guard let _:Data = data else
{
return
}
let json:Any?
do
{
json = try JSONSerialization.jsonObject(with: data!, options: [])
}
catch
{
return
}
guard let server_response = json as? NSDictionary else
{
return
}
if let data_block = server_response["data"] as? NSDictionary
{
if let session_data = data_block["session"] as? String
{
let preferences = UserDefaults.standard
preferences.set(session_data, forKey: "session")
DispatchQueue.main.async {
execute:self.LoginDone()
}
}
}
})
task.resume()
}
func LoginDone()
{
_username.isEnabled = false
_password.isEnabled = false
_login_button.setTitle("Logout", for: .normal)
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
您的问题与_login_按钮有关,因为它是@IBAction而不是@IBOutlet 要解决此问题,请从情节提要中拖动outlet并将其与适当的文件连接 然后设置按钮的属性 例如
@IBOutlet weak var _login_button_outlet: UIButton!
func LoginDone()
{
_username.isEnabled = false
_password.isEnabled = false
_login_button_outlet.setTitle("Logout", for: .normal)
}
您好,您正在尝试将标题设置为_login_按钮,而不是按钮是@iAction方法,因此要设置标题,您必须创建@IBOutlet弱var _login_按钮:UIButton _login_按钮是iAction而非iButton按钮的出口
_login_按钮的功能不是按钮出口,如果您已声明出口具有相同名称,则更改按钮名称或功能将解决您的错误OK谢谢,我将更改功能,它将正常工作。谢谢guys@amr07接受答案。如果有帮助,请考虑遵守Swift(camelCased)命名约定。这不是javascript或PHP。@amr07您总是很受欢迎