我正在編寫使用此項目的IOS應用程序:https://github.com/martinrybak/SQLClient。使用下面的代碼與SQL進行通信時遇到問題。它不會在第一次執行連接功能時執行。它轉到下一行,並在viewDidLoad中創建所有代碼後,它返回到我的連接方法,連接成功。如何使它先執行代碼,然後再執行所有其他代碼?它是快速和ios編程我不明白嗎?ios上的SqlClient在函數中的所有其他代碼之後執行
override func viewDidLoad() {
super.viewDidLoad()
let client = SQLClient.sharedInstance()
client?.connect(Constants.serwerAdress, username: Constants.userName, password: Constants.password, database: Constants.databaseName) {
success in
if success {
client?.execute("select A FROM B") {
results in
for table in results as AnyObject! as! NSArray {
for row in table as AnyObject! as! NSArray {
for column in row as! NSDictionary {
print("\(column.key) = \(column.value)")
}
}
}
client?.disconnect()
}
}
}
DoSomethingElse()
}
這意味着從服務器獲取數據後發生的函數中的每個代碼都必須放在連接中? – Whencesoever
而不是把每一個代碼,寫一個函數,使用數據,一旦從服務器獲取數據,你可以調用方法從連接:D和是的邏輯上,你應該把它放在連接 –
可以告訴我爲什麼這返回5爲55?每個Integer只有1個字符 – Whencesoever