久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

swift3.0 創建sqlite數據庫步驟方法

本篇文章主要介紹了swift3.0 創建sqlite數據庫步驟方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一,導入描述文件

1.

2,

.

3,

二,寫橋接文件sqliteManager

1.文件里寫入

#import <sqlite3.h>就可以了

2.把橋接文件添加到編譯環境


三, 寫數據庫管理類(單例)


import UIKit 
 
class sqliteManager: NSObject { 
  private static let manager: sqliteManager = sqliteManager() 
  //單例 
  class func shareManager() -> sqliteManager{ 
    return manager 
  } 
  //數據庫對象 
  private var db:OpaquePointer? = nil 
  func openDB(sqliteName:String){ 
    //0.拿到數據庫的路徑 
    let path = sqliteName.docDir() 
    print(path) 
    let cPath = path.cString(using: String.Encoding.utf8) 
    //1.需要代開的數據庫的路徑 c語言的字符串 
    //2.打開之后的數據庫對象(指針),以后所有的數據庫操作,都必須拿到這個指針才能進行相關操作 
    if sqlite3_open(cPath, &db) != SQLITE_OK{ 
      print("數據庫打開失敗") 
      return  
    } 
    if creatTable(){ 
      print("創建表成功") 
    }else{ 
      print("創建表失敗") 
    } 
  } 
  private func creatTable() -> Bool 
  { 
    // 1.編寫SQL語句 
    // 建議: 在開發中編寫SQL語句, 如果語句過長, 不要寫在一行 
    // 開發技巧: 在做數據庫開發時, 如果遇到錯誤, 可以先將SQL打印出來, 拷貝到PC工具中驗證之后再進行調試 
    let sql = "CREATE TABLE IF NOT EXISTS T_Person( \n" + 
      "id INTEGER PRIMARY KEY AUTOINCREMENT, \n" + 
      "name TEXT, \n" + 
      "age INTEGER \n" + 
    "); \n" 
    //    print(sql) 
    // 2.執行SQL語句 
    return execSQL(sql: sql) 
  } 
  func execSQL(sql: String) -> Bool 
  { 
    // 0.將Swift字符串轉換為C語言字符串 
    let cSQL = sql.cString(using: String.Encoding.utf8)! 
     
    // 在SQLite3中, 除了查詢意外(創建/刪除/新增/更新)都使用同一個函數 
    /* 
     1. 已經打開的數據庫對象 
     2. 需要執行的SQL語句, C語言字符串 
     3. 執行SQL語句之后的回調, 一般傳nil 
     4. 是第三個參數的第一個參數, 一般傳nil 
     5. 錯誤信息, 一般傳nil 
     */ 
    if sqlite3_exec(db, cSQL, nil, nil, nil) != SQLITE_OK 
    { 
      return false 
    } 
    return true 
  } 
 
 
} 

四,在AppDelegate里調用openDB函數 創建數據庫


mport UIKit 
 
@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate { 
 
  var window: UIWindow? 
 
 
  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    // Override point for customization after application launch. 
    sqliteManager.shareManager().openDB(sqliteName: "tergun.sqlite") 
    return true 
  } 
} 

運行結果


附件

工具類


// 
// String+Category.swift 
// DSWeibo 
// 
// Created by xiaomage on 15/9/10. 
// Copyright © 2015年 小碼哥. All rights reserved. 
// 
 
import UIKit 
 
extension String{ 
  /** 
  將當前字符串拼接到cache目錄后面 
  */ 
  func cacheDir() -> String{ 
    let path = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).last! as NSString 
    return path.appendingPathComponent((self as NSString).lastPathComponent) 
  } 
  /** 
  將當前字符串拼接到doc目錄后面 
  */ 
  func docDir() -> String 
  { 
    let path = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).last! as NSString 
    return path.appendingPathComponent((self as NSString).lastPathComponent) 
  } 
  /** 
  將當前字符串拼接到tmp目錄后面 
  */ 
  func tmpDir() -> String 
  { 
    let path = NSTemporaryDirectory() as NSString 
    return path.appendingPathComponent((self as NSString).lastPathComponent) 
  } 
} 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持html5模板網。

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

這篇文章主要給大家介紹了關于RxSwift學習教程之類型對象Subject的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著
這篇文章主要給大家介紹了關于RxSwift學習教程之Observable的相關資料,文中詳細的給大家介紹了關于新建Observable、訂閱Observable和取消訂閱并消除內存泄漏等相關的內容,需要的朋友可以
RxSwift是Swift函數響應式編程的一個開源庫,由Github的ReactiveX組織開發,維護。下面這篇文章主要給大家介紹了關于RxSwift學習之基礎篇的相關資料,文中通過示例代碼介紹的非常詳細,需
這篇文章主要為大家詳細介紹了Swift4.0 Array數組的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
CATransition動畫主要在過渡時使用,比如兩個頁面層級改變的時候添加一個轉場效果。CATransition分為兩類,一類是公開的動畫效果,一類是非公開的動畫效果。這篇文章主要給大家介紹了
近日,iPhone X的發布在人們群眾引起了很大的轟動,下面這篇文章主要給大家介紹了關于利用Swift如何判斷iPhone X機型的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面
主站蜘蛛池模板: 久久久久国产 | 国产成人短视频在线观看 | 99中文字幕| 久久高清 | 欧美高清视频 | 日韩欧美国产一区二区 | 91综合在线观看 | 国内久久 | 国产精品美女久久久久久不卡 | 一区二区三区不卡视频 | 无毛av| 91高清免费 | 午夜丰满少妇一级毛片 | 一区二区免费在线视频 | 91高清在线观看 | 欧美一级精品片在线看 | 中文字幕在线播放第一页 | 蜜桃传媒一区二区 | 中文字幕 亚洲一区 | 亚洲精品成人在线 | 免费看黄色片 | 91国产精品 | 一区二区三区播放 | 亚洲国产精品一区二区第一页 | 国产日韩欧美在线观看 | 精品欧美一区二区精品久久久 | 欧美亚洲另类在线 | 日韩视频精品 | 国产欧美在线 | 99热精品在线 | 美女视频一区二区三区 | 亚洲视频一区二区 | 精品久久久久久国产 | 秋霞电影一区二区 | 欧美日韩精品综合 | 少妇特黄a一区二区三区88av | 一区二区在线免费观看 | 久久精品国产一区二区三区不卡 | 国产精品美女久久久久久免费 | 无人区国产成人久久三区 | 欧美一区在线看 |