2013-07-24 57 views
0

這是一個普遍的問題,因爲我剛開始iphone編程。將數據庫路徑作爲變量存儲的位置?

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *docsPath = [paths objectAtIndex:0]; 
     NSString *path1 = [docsPath stringByAppendingPathComponent:@"database.sqlite"]; 
     FMDatabase *db1 = [FMDatabase databaseWithPath:path1]; 

什麼是一旦存儲該路徑作爲一個「全球性」的使用方式:

在我所有的意見我現在多行只是爲數據庫路徑存儲在文件夾

變量,在整個項目中可訪問?像.net解決方案中的web.config一樣。

+1

最簡單的方法是'NSUserDefaults'類,簡單的鍵值存儲,與Windows中的ini文件相媲美。 –

+0

您可以隨時將其存儲在您的.pch文件中,因此默認情況下,它可以在整個項目中訪問。 – limon

+0

爲什麼不創建一個管理器對象,用多種方法封裝對數據庫的訪問?這個類可以是一個單例,它可以在整個應用程序中提供獨一無二的集中式訪問。 –

回答

0

在某個類中創建一個靜態方法,該類返回上面定義的FMDataBase對象。

Class Aclass; 

+(FMDataBase)database{ 
//do your stuff here, make sure to return the database object. 
} 

數據庫現在通過訪問:

[Aclass database]; 

不要忘了#IMPORT 「Aclass.h」

你也可以在Aclass.m創建一個類變量並初始化它首先使用類方法訪問它。像這樣的例子:

Global Property in Objective C

很抱歉的格式。

+0

我個人不鼓勵這種方法,因爲它是一種「全局變量」類型的機制。我會反對使用單例模式。 –

相關問題