2015-12-03 2 views
1

Dans mon application, je me sers d'une Couchbase Lite base de données, mais je suis l'échec de créer une base de données:défaut de créer une base de données en utilisant Couchbase Lite

Voici mon code dans AppDelegate.swift

import UIKit 

private let DatabaseName = "couchbase-swift" 

@UIApplicationMain 

class AppDelegate: UIResponder, UIApplicationDelegate 
{ 

    var window: UIWindow? 
    var viewC : ViewController! 

    let database: CBLDatabase! 

    override init() { 
     do{ 
      database = try(CBLManager.sharedInstance().databaseNamed(DatabaseName)) 
     } 
     catch _ { 
      database = nil 
     } 
    } 

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 
    { 


     if database == nil { 
      print("Unable to initialize Couchbase Lite") 
      return false 
     } 

     //---- Add RootView Controller------ 
     window = UIWindow(frame: UIScreen.mainScreen().bounds) 

     viewC = ViewController(nibName: "ViewController", bundle: nil) 

     window?.rootViewController = viewC 
     window?.makeKeyAndVisible() 


     return true 
    } 
} 

Je suis NILL base de données avec AVERTISSEMENT:

Mise à niveau ignorée: La classe de mise à niveau de base de données n'est pas présente.

*** AFFIRMATION ECHEC: CBLManager.storageType est 'SQLite', mais pas de classe CBL_SQLiteStorage trouvé

S'il vous plaît me dire que ce qui était erroné dans mon code. Pourquoi ai-je l'échec de créer une base de données?

Répondre

1

Je pense que c'est ce que vous cherchez, c'est un exemple où vous créez une nouvelle Couchbase Lite instance gestionnaire, créez une nouvelle instance CouchbaseLite de base de données, puis créez un nouveau document, insérer et récupérer aussi

var properties = [ 
    "name": "mirco", 
    "email": "[email protected]", 
    "repo": "swift-couchbaselite-cheatsheet" 
] 


//creating a couchbase manager 
let manager = CBLManager.sharedInstance() 

{ 

     NSLog("creating the database") 
     let db = try manager.databaseNamed("mydb") 

     NSLog("Creating the document") 
     //we then create a document to store the properties 
     let doc = db.createDocument() 

     do { 
      try doc.putProperties(properties) 
      NSLog("The Document was updated with properties") 

      print(properties) 

     } catch { 

      NSLog("Too bad, things be tight") 
      print("Oops! the document was not updated") 
     } 

    }catch { 

     print("Oops! the Database was not created") 
    } 

Les détails peuvent être trouvés ici https://github.com/mwanjajoel/CouchBaseTesting/tree/master/CouchBaseTesting

J'espère que cela vous aide à démarrer avec Couchbase Lite

+0

Merci, cela est travaillé pour moi :) –

+0

Vous êtes les bienvenus !! –

0

même problème Face mais pas pour Couchbase et résoudre par ajouter ci-dessous le drapeau. Assurez-vous que l'option -ObjC a été ajoutée au paramètre de construction Autres indicateurs de liens de la cible. Parfois, il peut générer une erreur ci-dessus.

Merci

+0

J'ai ajouté l'option -ObjC dans le paramètre Other Linker Flags de ma cible. mais il ne fait aucun changement. cette erreur est de nouveau survenue après l'ajout de ce drapeau –