我试图在视图中创建一个简单的调试器。我有以下几点:
ios - 无法将字符串转换为Swift中的字符串-LMLPHP

我正在使用Alamofire发出请求,使用responseString接收数据,然后使用App.log( response )将其发送给debugViewControllerlog方法,您也可以看到它也期望一个字符串。

现在,尝试编译它会返回一个错误,这对我来说很奇怪,因为我是Swift的新手。无法将字符串转换为debugViewController.log()(实际上也是String)中期望的参数类型?

请告诉我这一点。

在这里,您有debugViewController:

import UIKit

class debugViewController: UIViewController {

    @IBOutlet weak var debugTextField: UITextView!

    @IBAction func dismissDebug(sender: AnyObject) {
        self.dismissViewControllerAnimated(true, completion: nil)
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

     func log( data: String ) {
        debugTextField.text = data
    }

}

在这里您可以看到我如何拨打电话和发送数据:
Alamofire.request( .POST, API_URL, parameters: [ "action": "authenticate", "email": userEmail!, "password": userPassword! ] )
            .responseString { response in

                guard let value = response.result.value else
                {
                    return App.alert( "error", message: "Did not receive data")
                }

                guard response.result.error == nil else
                {
                    print( response.result.error )
                    return App.alert( "error", message: "An error occurred" )
                }

                App.log ( value )


        }

最佳答案

debugViewController是一个类(建议您以大写字母开头的类名),并且您试图在类本身上调用实例方法,因此会出现错误(因为它实际上期望使用debugViewController类型的实例)。

创建debugViewController实例后,应保留该实例,以便可以在该实例而非类上调用log方法

关于ios - 无法将字符串转换为Swift中的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33148733/

10-12 01:18