2015-04-05 4 views
0

Je suis assez nouveau à la programmation. Je travaille avec Xcode 6 et swift pour construire une application iOS 8. mon application a beaucoup de données que j'ai organisées en fichiers sqlite3 en utilisant le firefox add on. J'ai déposé ces fichiers dans mon dossier de projet. leur extension est .sql maintenant je dois accéder à ces données dans mon application. J'ai déjà lié la bibliothèque sqlite3 en ajoutant libsqlite3.dylib dans l'onglet des phases de construction. maintenant je veux écrire le code pour accéder à la base de données. J'ai trouvé beaucoup d'informations en ligne avec du code et des exemples d'iOS 7 et plus tôt en utilisant l'objectif-c mais rien avec iOS 8 et rapide. Si quelqu'un peut m'aider ou me conduire dans la bonne direction, je serais reconnaissant. Merci.en utilisant une base de données sqlite3 avec une application ios8 en utilisant Xcode 6 et rapide

Répondre

1

vous pouvez utiliser le cadre de sqlite.swift pour mettre en œuvre la connexion de base de données avec rapide est ici lien https://github.com/stephencelis/SQLite.swift/blob/master/Documentation/Index.md

Voici par exemple pour connecter la base de données SQLite

var db : Database! 
var cat = Expression<String>("ZCATEGORY") 
var name = Expression<String>("ZNAME") 
var user : Query! 
var stmt : Query! 
var data : Array<Row>! 

@IBOutlet var tabe: UITableView! 
override func viewDidLoad() { 
    super.viewDidLoad() 


    createdb() 
} 



internal func createdb() 
{ 
    // bundle database within your app 
    let path = NSBundle.mainBundle().pathForResource("db", ofType: "sqlite") 
    println(path) 
    db = Database(path, readonly: true) 
    // ZFOOD is table name 
    user = db["ZFOOD"] 
    println(db) 
    // select distinct(cat) from ZFOOD 
    stmt = user.select(distinct : cat) 
    // Stored query result in array 
    data = Array(stmt) 

    } 

func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    return 1 
} 

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 

    return data.count 

} 
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 


    let cell: AnyObject = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) 
    cell.textLabel.text = data[indexPath.row][cat] 
    return cell as UITableViewCell 
} 

J'espère que cela utile pour vous

+0

salut . Merci pour votre réponse. J'essayais vraiment d'appeler moi-même la bibliothèque sql sans utiliser de wrapper. J'ai regardé d'autres messages en faisant cela, mais ils semblent tous créer la table et les valeurs d'entrée. J'ai déjà une base de données que je ne veux pas modifier. Je veux juste accéder aux valeurs de la table. par exemple, la table a deux colonnes. Je veux juste traiter la première colonne comme une clé et la deuxième colonne comme valeur. Je suis sur ce depuis très longtemps avec pas de chance ... – alionthego

+0

si vous utilisez wrapper sqlite.swift alors je vais vous aider parce que je n'ai jamais utilisé la bibliothèque sql –

+0

code mis à jour vérifier –