swift小白
我現(xiàn)在做的是對(duì)一個(gè)已有的本地?cái)?shù)據(jù)庫"data.s3db"查詢的app。
已經(jīng)使用FMDB庫,現(xiàn)在的問題是,輸出的數(shù)組print后為0x60000013edc0這樣的數(shù)字……是編碼方式不對(duì)嗎?
1.這是模型scoreModel.swift
import Foundation
import UIKit
class scoreModel: NSObject {
var lessonName:String = String()
var lessonCode:String = String()
var creditPoint:Double = Double()
var totalStudentNumber:Int = Int()
var teacherName:String = String()
var semesterName:String = String()
var scoreValue:String = String()
var studentCount:Int = Int()
}
2.這是數(shù)據(jù)庫管理類SQLiteManager.swift
import Foundation
import UIKit
class SQLiteManager: NSObject {
// 0. 將類設(shè)計(jì)成單例
static let shareInstance : SQLiteManager = SQLiteManager()
override init() {
super.init()
}
// 1. 保存數(shù)據(jù)庫隊(duì)列對(duì)象
var dbQueue : FMDatabaseQueue?
// 2. 打開數(shù)據(jù)庫
func openDB () {
//2.1 設(shè)置數(shù)據(jù)庫的路徑;
let dbPath = Bundle.main.path(forResource:"data", ofType: "s3db")
//2.2 創(chuàng)建數(shù)據(jù)庫
dbQueue = FMDatabaseQueue(path: dbPath)
}
// 3. 查詢數(shù)據(jù)庫,并將數(shù)據(jù)以數(shù)組的形式返回:
func queryDB(sql: String) -> NSMutableArray {
openDB ();
// 3.1 創(chuàng)建可變數(shù)組
let resultArray = NSMutableArray()
// 3.2 執(zhí)行sql
SQLiteManager.shareInstance.dbQueue?.inDatabase { (db) in
let dbResult: FMResultSet! = db.executeQuery(sql, withArgumentsIn:[])
// 遍歷結(jié)果
while dbResult.next() {
let model:scoreModel = scoreModel()
model.lessonName = String(dbResult.string(forColumn: "lessonName")!)
model.lessonCode = String(dbResult.string(forColumn: "lessonCode")!)
model.creditPoint = Double(dbResult.double(forColumn: "creditPoint"))
model.semesterName = String(dbResult.string(forColumn: "semesterName")!)
model.teacherName = String(dbResult.string(forColumn: "teacherName")!)
model.totalStudentNumber = Int(dbResult.int(forColumn: "totalStudentNumber"))
model.scoreValue = String(dbResult.string(forColumn: "scoreValue")!)
model.studentCount = Int(dbResult.int(forColumn: "studentCount"))
// 添加到可變數(shù)組
resultArray.add(model)
}
}
return resultArray
}
}
3.這是操作頁面ViewController.swift,SQL語句已經(jīng)經(jīng)過SQLiteStudio檢驗(yàn),我選了“%C%”為條件。
override func viewDidLoad() {
super.viewDidLoad()
//準(zhǔn)備sql語句
let mysql = "SELECT Lesson.lessonName,Lesson.lessonCode, Lesson.creditPoint, Course.totalStudentNumber, Teacher.name AS teacherName, Semester.name AS semesterName, Score.scoreValue, Score.studentCount FROM (Lesson INNER JOIN Course ON Lesson.id = Course.lesson_id) LEFT JOIN Score ON Course.id = Score.course_id LEFT JOIN Teacher ON Course.teacher_id = Teacher.id LEFT JOIN Semester ON Course.semester_id = Semester.id WHERE Lesson.lessonName like '%C%' ORDER BY Semester.name desc"
let resultArray = SQLiteManager.shareInstance.queryDB(sql:mysql)
print(resultArray)
}
輸出結(jié)果為:
"<test.scoreModel: 0x600000135400>",
"<test.scoreModel: 0x604000135c20>",
"<test.scoreModel: 0x604000135cc0>",
"<test.scoreModel: 0x604000135d60>",
"<test.scoreModel: 0x604000135e00>",
"<test.scoreModel: 0x604000135ea0>",
"<test.scoreModel: 0x604000135f40>",
"<test.scoreModel: 0x604000135fe0>",
一臉蒙蔽……
用SQLiteStudio進(jìn)行語句查詢的結(jié)果都是正常的啊,類似
高等數(shù)學(xué)C(下) MATH120006.01 4 70 29 杭國明 2010~2011學(xué)年第2學(xué)期 A 4
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。