青春可长可短, 就看自己如何度过(亦或者如白驹过隙, 稍纵即逝 正所谓且行且珍惜)...
????????? 人生匆匆數十載, 說短也短, 說長也長, 看似揮霍不完的青春, 殊不知他就在你不經意間悄悄流逝, 所以時間還是貴在自己, 看自己如何度過, 如何選擇, 無人可以左右你的人生, 唯一做的了主的就是你自己心中向往的那片天地!
???????? 好久沒有來過這里了, 好久也沒有留下自己的腳印了, 每天都是匆匆忙忙的, 在幾個月后我就要收獲自己所奮斗后的成果了,我想說在這短短的幾個月里真的可謂是起早貪黑, 不能說什么也沒有學到,但是可以說的是知識點都已普及,付出的比任何時間都多, 也許花朵已在含苞待放, 就看你怎么施肥灌溉了!
???????? 下面就是我的計劃:在接下來的幾個月里面我要把所有學過的東東從新再過一遍, 無論是有用的還是用的不多的都會再仔仔細細再看一遍,做到徹底的熟悉, 在這里學的是皮毛, 但是我一直都堅信什么事都怕深挖, 只要可以鉆進去, 哪怕是皮毛, 你也可以將他看透, 嘿嘿 ,? 革命尚未成功, 同志們仍需努力啊, 愿和我在同一起跑線或者比我快的朋友們一起堅守自己的信念, 不拋棄不放棄, 因為那些最后的成功才會屬于我們! Come On!
????????? 在今天的學習中我們學習了小型的數據庫, 也許今天學習的東西并不多, 但是還是要和朋友們一起分享下, 讓我們共同進步:
????????? 下面附上我的代碼以及課堂筆記:
//由于文件的讀寫, 歸檔, NSUserDefault, 做持久化存儲的時候, 是一個覆蓋的過程, 效率太低, 更多的時候使用數據庫來做持久化存儲//鑒于手機的硬件配置, 使用輕量級數據庫(sqlite)//數據庫內有很多張表, 每個表都有很多字段, 這些字段中用于做唯一標示的, 被稱為主鍵//SQL, 結構化查詢語句, 用于對數據進行操作(增,刪,改,查)的語句//SQL語句不區分大小寫//1.創建表格//create table 表名(字段名, 字段數據類型 是否是主鍵 是否為空 默認值是多少, ....)//student表為例,(ID, name, gender, photo)//create table "Student" ("ID" integer primary key not null, "name" text, "age" integer, "gender" text, "photo" blob)//2,插入數據//insert into 表明(字段名1, 字段名2, ....) values(值1, 值2 ...)//例如:insert into "Student" (name, gender, age) values ("趙衛東", "男", "20")//3.刪除數據//delete from 表明 where字段名 = 值//例如:delete from"Student" where ID = "6"//4.修改數據//update 表名 set 字段名 = 值 where 字段名 = 值//例如:update "Student" set gender = "女" where ID = 5//5.查詢數據//select 字段名 from 表明 where 字段名 = 值//例如:select name gender age from "Student" where ID = 3//例如:select * from Student where name = "小強"//例如:select * from Student下面是Student類
#import <Foundation/Foundation.h> #import <UIKit/UIKit.h>@interface Student : NSObject@property (nonatomic, assign) NSInteger ID; @property (nonatomic, retain) NSString *name; @property (nonatomic, retain) NSString *gender; @property (nonatomic, assign) NSInteger age; @property (nonatomic, retain) UIImage *photo;@end#import "Student.h"@implementation Student- (void)dealloc {self.name = nil;self.photo = nil;self.gender = nil;[super dealloc]; }- (NSString *)description {return [NSString stringWithFormat:@"ID:%ld name:%@ gender:%@ age:%ld photo:%@", _ID, _name, _gender, _age, _photo]; }同時還要創建數據庫, 并主要管理數據庫的打開和關閉
#import <Foundation/Foundation.h> #import <sqlite3.h>//導入支持sqlite的框架 @interface DataBase : NSObject //打開數據庫, 并返回數據庫指針 + (sqlite3 *)openDB;//關閉數據庫 + (void)closeDB; #import "DataBase.h"#define DATABASENAME @"DataBase.sqlite"//創建全局的數據庫指針 static sqlite3 *db = nil;@implementation DataBase//打開數據庫, 并返回數據庫指針 + (sqlite3 *)openDB {//判斷數據庫是否打開if (db == nil) {//創建文件管理類NSFileManager *file = [NSFileManager defaultManager];//document路徑NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];NSLog(@"%@", path);//文件路徑NSString *filePath = [path stringByAppendingPathComponent:DATABASENAME];//判斷路徑下是否有文件if ([file fileExistsAtPath:filePath]) {NSLog(@"文件存在");} else {//獲取包中數據的路徑NSString *boundlePath = [[NSBundle mainBundle] pathForResource:DATABASENAME ofType:nil];//把包中的數據庫文件拷貝到document文件中NSError *error = nil;BOOL result = [file copyItemAtPath:boundlePath toPath:filePath error:&error];if (result) {NSLog(@"拷貝成功");} else {NSLog(@"%@", error);}}//打開數據庫//參數1:文件路徑//參數2:數據庫指針, 如果文件路徑下由數據庫的話, 打開數據庫, 并把數據庫指針賦值sqlite3_open([filePath UTF8String], &db);}return db; }//關閉數據庫 + (void)closeDB {sqlite3_close(db);db = nil; }再引入sqlite3.h框架的時候還要做2步, 首先進入工程文件中, 選中工程文件夾下的Build Phases, 然后再找到其下的子文件Link Binary With Libraries(1 item)
然后在選擇"+"進行文件的添加, 如果所示
這樣基本上就可以到處數據, 進行增刪改查了, 嘿嘿, 好了今天就到這了, 希望大家可以共同進步!
??????? 新的一天就這樣結束了, 在忙碌中不知不覺的溜走了, 也許這就是時間, 一天一天的過的真快, 不過至少我的一天是充實的, 是快樂的, 因為我學有所獲, 有所得! 嘿嘿, 飄了, 明天再來和大家繼續分享知識點哈, 為我們的青春一起加油!
轉載于:https://www.cnblogs.com/dyx-wx/p/4187639.html
總結
以上是生活随笔為你收集整理的青春可长可短, 就看自己如何度过(亦或者如白驹过隙, 稍纵即逝 正所谓且行且珍惜)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 进程上下文与中断上下文
- 下一篇: VS2013安装oepncv2.4.10