標籤:
一、資料庫操作
1建立
CREATE TABLE IF NOT EXISTS 表名(欄位1 類型1 修飾詞, 欄位2 類型2)
INTEGER PRIMARY KEY AUTOINCREMENT意思是試這個欄位作為主鍵
(後續見fmdbDemo)
2增加
3刪除
4修改
5查詢(不涉及資料庫內容或者結構更改)
二、沙箱以及路徑擷取
/Users/sunli/Library/Developer/CoreSimulator/Devices/073756A6-6159-4084-AD68-05029D3E9B04/data/Containers/Data/Application/C536EDF0-B85D-4790-ABD1-26A8EB7AC1E8/Documents
/Users/sunli/Library/Developer/CoreSimulator/Devices/073756A6-6159-4084-AD68-05029D3E9B04/data/Containers/Data/Application/C536EDF0-B85D-4790-ABD1-26A8EB7AC1E8
Documents:應用中使用者資料可以放在這裡,iTunes備份和恢複的時候會包括此目錄
tmp:存放臨時檔案,iTunes不會備份和恢複此目錄,此目錄下檔案可能會在應用退出後刪除
Library/Caches:存放快取檔案,iTunes不會備份此目錄,此目錄下檔案不會在應用退出刪除
tmp目錄
NSHomeDirectory()
也就是Documents的上級目錄,當然也是tmp目錄的上級目錄。那麼檔案路徑可以這樣寫:
NSString *fileName=[NSHomeDirectory() stringByAppendingPathComponent:@"tmp/myFile.txt"];
或者用這個函數:
NSTemporaryDirectory()
螢幕適配
iphone
很明顯能看出這三種螢幕的尺寸寬高比是差不多的,因此可以在5的基礎上,按比例放大來相容6和6Plus的螢幕。
在AppDelegate.h中
@property float autoSizeScaleX;
@property float autoSizeScaleY;
在AppDelegate.m中
#define ScreenHeight [[UIScreen mainScreen] bounds].size.height//擷取螢幕高度,相容性測試
#define ScreenWidth [[UIScreen mainScreen] bounds].size.width//擷取螢幕寬度,相容性測試
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
AppDelegate *myDelegate = [[UIApplication sharedApplication] delegate];
if(ScreenHeight > 480){
myDelegate.autoSizeScaleX = ScreenWidth/320;
myDelegate.autoSizeScaleY = ScreenHeight/568;
}else{
myDelegate.autoSizeScaleX = 1.0;
myDelegate.autoSizeScaleY = 1.0;
}
}
因為iPhone4s螢幕的高度是480,因此當螢幕尺寸大於iPhone4時,autoSizeScaleX和autoSizeScaleY即為當前螢幕和iPhone5尺寸的寬高比。比如,
如果是5,autoSizeScaleX=1,autoSizeScaleY=1;
如果是6,autoSizeScaleX=1.171875,autoSizeScaleY=1.17429577;
如果是6Plus,autoSizeScaleX=1.29375,autoSizeScaleY=1.2957;
現在我們擷取了比例關係後,先來看一下如何解決代碼設定介面時的相容。
CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)這個方法使我們常用的設定尺寸的方法,現在我設定了一個類似於這樣的方法。
在.m檔案中
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake1(100, 100, 50, 50)];
CG_INLINE CGRect//注意:這裡的代碼要放在.m檔案最下面的位置
CGRectMake1(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
{
AppDelegate *myDelegate = [[UIApplication sharedApplication] delegate];
CGRect rect;
rect.origin.x = x * myDelegate.autoSizeScaleX; rect.origin.y = y * myDelegate.autoSizeScaleY;
rect.size.width = width * myDelegate.autoSizeScaleX; rect.size.height = height * myDelegate.autoSizeScaleY;
return rect;
}
藍懿教育 資料庫&螢幕適配