我有一個類,其中包含從我的服務器下載數據的方法。這是JSON的形式,但被解析並放入數組中。由於這是一個「模型」文件,使多個「控制器」可以訪問這些數據的最佳方法是什麼?擁有應用程序範圍數組的最佳方法?
回答
將它掛在應用程序委託上,將其粘貼到全局變量中,或者在適當的位置聲明一個返回它的類方法。
更好的是,現在開始考慮建立一個適當的模型層,其中可以管理這些數據。隨着應用程序的發展,這將使未來更容易重構。
模型圖層,你指的是核心數據? – 2012-07-21 18:05:36
不一定;核心數據無疑是一個出色的數據持久性工具,我強烈建議。如果你沒有保存那麼多的數據或者你的所有數據都是客戶/服務器,那麼 - 不 - 不需要。 「模型層」是一個通用術語。 – bbum 2012-07-21 19:17:43
我將堅持從一個相當複雜的後端數據庫中存儲大量數據,所以我認爲核心數據是一條可行的路。感謝您推薦它。 – 2012-07-21 20:28:32
您可以使用數組對象創建類的單例對象。並且通過使用類方法,您可以將該數組放在應用程序中的任何位置。
例如
在Cardnames.h文件
#import <Foundation/Foundation.h>
@interface CardNames : NSObject
@property (nonatomic, retain) NSMutableArray *CardNamesArray;
+(CardNames*) getCardsList;
@end
在Cardnames.m文件
#import "CardNames.h"
@implementation CardNames
@synthesize CardNamesArray;
static CardNames *cards = nil;
+(CardNames*) getCardsList
{
@synchronized(self)
{
if(cards == nil)
{
cards = [[self alloc] init];
cards.CardNamesArray = [[NSMutableArray alloc] init];
/// code to fill array
}
return cards;
}
}
@end
和其他類u可以使用這樣
#import "CardNames.h"
.
.
.
NSMutableArray *CardsArray = [[CardNames getCardsList] CardNamesArray];
- 1. 擁有tomcat應用程序的最佳方式/
- 2. 應用程序範圍記錄器的最佳做法
- 3. Web應用程序中的Spring bean範圍。最佳做法
- 4. CakePHP:應用程序範圍媒體上傳的最佳做法
- 5. 在一個應用程序中擁有多個用戶的最佳方法
- 6. 使用應用程序範圍TraceSource的最佳實踐
- 7. 數組排序方法中的範圍
- 8. 檢查所有數組值是否在一個範圍內的最佳方法
- 9. 在Android應用程序中擁有啓動畫面的最佳方式?
- 10. 在基於導航的應用程序中擁有UINavigationController的最佳做法?
- 11. 擁有2個屬性數組的最佳方式是什麼?
- 12. 重置所有變量項目範圍的最佳方法? ---(Java)
- 13. 使循環範圍有條件的最佳方法?
- 14. 配置大量數據的應用程序的最佳方法
- 15. 加入範圍的最佳方式?
- 16. 爲android應用程序存儲數據的最佳方法?
- 17. 新Web應用程序的最佳數據訪問方法
- 18. 增量更新應用程序數據的最佳方法
- 19. 從GWT應用程序導出數據的最佳方法?
- 20. 備份Windows Phone應用程序數據庫的最佳方法
- 21. 什麼是同步應用程序數據的最佳方法
- 22. 加密iPhone應用程序本地數據的最佳方法
- 23. 在wpf應用程序中存儲數據的最佳方法
- 24. 應用程序的最佳方式
- 25. 連續範圍的最佳表示法
- 26. 在沒有正則表達式的Java中整數範圍的最佳方法
- 27. Coldfusion應用程序範圍
- 28. 發送道具反應應用程序的最佳方法
- 29. 爲Windows應用程序測試編程的最佳方法
- 30. 擁有禁用應用程序通知選項的最佳實踐
全局變量?辛格爾頓? [[UIApplication sharedApplication]委託]的屬性? – 2012-07-21 18:01:06
謝謝,我猜他們都有他們的優點和缺點,所以這將是推薦的方法? – 2012-07-21 18:02:55
我建議你讓它成爲你的應用程序委託的屬性。 – 2012-07-21 18:04:02