2017-01-27 18 views
0

私はSQLite Libraryを使用しています。使用方法はlet db = try Connection("path/to/db.sqlite3")です。ドキュメントにはsqliteデータベースがあります。しかし、私は、それは誤りcall can throw but errors cannot be thrown out of a property initializerSQLiteデータベースに接続できませんSwift 3

を投げる接続を試みるとき、ここに私のコードです:

import UIKit 
import SQLite 

class SearchViewController: UIViewController, UITextFieldDelegate { 

let db = try Connection("/Users/macbookpro/Documents/db.sqlite") //error 
let categoryVC = CategoryViewController() 
let UseFullVC = UseFullViewController() 
let MapVC = MapViewController() 
let EventVC = SearchResultOnlineVC() 

@IBOutlet weak var searchTextField: UITextField! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.title = "Search" 

    searchTextField.delegate = self 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
} 
} 

私はまたのviewDidLoadで接続を置くことを試みるが、まだ何が間違って

動作しませんか?

+0

は、なぜあなたは、FMDBで行くカント? – vaibhav

答えて

1

Connection初期化子が例外をスローする可能性があるので、do/catchブロックで呼び出す必要があります。

ですからに宣言を変更する必要があります。

var db : Connection? 

そしてViewDidLoadでそれを初期化:生のsqliteを使用して、なぜ

do{ 
    self.db = try Connection("/Users/macbookpro/Documents/db.sqlite") 
} catch { 
    print("Unable to create connection: \(error)") 
} 
+1

それは動作します!まことにありがとうございます! –

関連する問題