我试图在视图中创建一个简单的调试器。我有以下几点:
我正在使用Alamofire发出请求,使用responseString
接收数据,然后使用App.log( response )
将其发送给debugViewController
的log
方法,您也可以看到它也期望一个字符串。
现在,尝试编译它会返回一个错误,这对我来说很奇怪,因为我是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/