2009-12-11 55 views
1

我已經創建了一個項目來讀取文件並顯示它。現在我需要創建一個散列表並從iPhone-OS的Objective-C中創建的文件(文本文件)中訪問數據。請提供建議...Hashtable如何從Objective-C的文本文件中訪問數據?

+0

由於您既不提供文件格式也不提供文件讀取方式,因此問題未指定。編輯您的問題並添加更多信息。 – outis 2009-12-11 05:47:56

+0

另外,通過「哈希表」,你指的是NSDictionary? – outis 2009-12-11 05:49:21

+1

你的意思是你想創建一個哈希表並將其寫入一個文件,或解析一個數據文件並根據你得到的值創建一個哈希表,或者將一個哈希表的值偏移到一個文件中,或者是什麼? – Chuck 2009-12-11 05:49:46

回答

2

你的問題沒有意義。

散列表(我認爲你指的是我們所說的NSDictionary或一組鍵值對)是一種數據結構。

文件是一系列可以用多種方式解釋的字節。它可以被解釋爲音頻,視頻或文本數據。它可以被解釋爲完全不同的東西。

所以你想「創建一個哈希表」。這是很容易做到:

NSDictionary * myDictionary = [[NSDictionary alloc] init]; 

你想從創建的文件訪問數據:

NSString * fileContents = [[NSString alloc] initWithContentsOfFile:pathToFile encoding:NSUTF8StringEncoding error:nil]; 
//or 
NSFileHandle * fileHandle = [NSFileHandle fileHandleForReadingAtPath:pathToFile]; 

你做超出了什麼是你的問題不詳。

編輯:

您想知道如何「自動」訪問文件內容。那麼,使用上面的NSString方法,你可以自己解析它。使用NSFileHandle方法,你可以自己讀取字節。獲取文件自動轉換爲NSDictionary的唯一方法是使用-[NSDictionary initWithContentsOfFile:]。但是,爲了使用它,您必須先使用-[NSDictionary writeToFile:atomically:]來創建該文件。

+0

謝謝你戴夫德隆... – suse 2009-12-17 04:57:42

2

NSMutableDictionary是Cocoa中可修改的哈希表實現。 -setObject:forKey:在字典中設置了一個條目,但是將您的文本文件解析爲鍵和值取決於您。