2011-07-23 87 views
0

我正在爲iOS4項目使用XCode 4.0.2。從另一個類讀取對象

當我的應用程序啓動時,在應用程序委託的應用程序didFinishLaunchingWithOptions方法加載的NSDictionary形成的plist:

NSString* plistPath = [[NSBundle mainBundle] pathForResource:@"RGBSpaces" ofType:@"plist"]; 
RGBSpacesDictionary = [NSDictionary dictionaryWithContentsOfFile:plistPath]; 

的NSDictionary的是隻讀的。我如何從任意類讀取NSDictionary的一個或多個元素?

謝謝

+0

如果這是應用程序自身內部使用的數據,則可以考慮將其放入NSUserDefaults中。這將使其普遍可用。 – TechZen

+0

我不建議在AppDelegate中放置數據。如果你想創建全局數據,請考慮爲它創建一個單例類。 – xissburg

回答

2
UIApplication *appDelegate = [[UIApplication sharedApplication] delegate]; 

然後你可以使用的appDelegate來訪問它的屬性包括字典。

+0

我不推薦這個。這將需要一個可怕的upcast,如果你做了一次,你會做得越來越多,你的代碼將變得非常糟糕。 – xissburg

0

與Appdelegate相比,更簡單的選擇是爲類型爲NSObject的類創建一個類,並且只需通過導入該類,就可以更新和獲取值。另一個選項是NSUserDefaults.Depends,使用要求。