簡體   English   中英

iOS:在iOS中,處理數據庫的最佳方法是什么?

[英]iOS: In iOS what is the best way to deal with a database?

您好,我想知道處理服務器上的外部數據庫(例如apache上的本地數據庫)的最佳方法是什么。 使用MYSQL時也是如此。 我想我很困惑如何在iOS上進行數據庫工作。

謝謝,非常感謝。

Parse.com在此區域提供了一些有趣的選項-您可以上傳一個csv並使用它創建一個關系數據庫,然后通過應用程序中的SDK來訪問它,只需幾行代碼。

我不為他們工作,但是絕對值得一試作為解決方案。

正如湯姆·喬維特(Tom Jowett)之前指出的那樣,如果不確定您真正需要什么,請從Parse開始。

如果您需要在本地保留數據(在電話上有意義),那么Core Data非常適合。 嚴格地說,Core Data不是一個ORM,而是一個圖形管理器,但是它將為您本地存儲數據(並且您不必擔心實際的數據庫)。 您也可以直接使用SQLite,但不應該這樣做(除非您有充分的理由這樣做)。

另一方面,如果您將只使用服務器中的數據,請看一下parse.com,如果它不符合您的需求,則您始終可以編寫自己的RESTful服務器,並使用您選擇的數據庫。

只需在服務器上使用PHP頁面,然后通過NSURLConnection使用GET變量引用它們即可。 您可以使用API​​,但是此解決方案要簡單得多。

如果您需要從服務器獲取信息,則只需執行以下操作:

NSString* returnedInfo = [NSString stringWithContentsOfURL:[NSURL urlWithString:@"http://www.myserver.com/myaccessorpage.php?a=sdf&s=dfg"]];

您可以在后台線程上運行它,以免應用程序掛起。

這可能不是實現您正在做的事情的最有效方法,但絕對是最簡單的方法。

希望這可以幫助您入門。

盡管可以,但是無法在iOS中直接訪問MYSQL。 蘋果不會批准您的應用。

因此,我們正在使用Web Service訪問數據。 這意味着您需要通過特定的URL和參數來請求Web服務器。 然后讓您的Web服務器查詢您的數據庫,最后以plaintextXMLJSON格式輸出它們。 得到結果后,可以將其parseNSDictionaryNSArray類的對象。

我相信最常用的方法是使用ASIHTTPRequestSBJson框架。 快速可靠。 (盡管ASIHTTPRequest已停止)

假設您在apache服務器上使用PHP。

對於php-api.php:

$mysqlArray = mysql_query($query);
$resultObjs = array();
while($mysqlObj = mysql_fetch_object($mysqlArray)){
    array_push($resultObjs,$mysqlObj);
}

echo json_encode($mysqlObj);

用ASIHTTPRequest獲取數據

NSURL *api = [NSURL URLWithString:@"http://YOURSERVER.com/api.php"];
ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:api];
NSString *resultString = [request responseString];
[request release];

使用SBJson將其解析為對象

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSArray *resultObjs = (NSArray*)[parser objectWithString:resultString];
[parser release];

這是一個基本概念,請在其首頁上閱讀更多示例,並在Google上閱讀更多示例。希望它會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM