我正在創建一個處理房地產列表的iOS應用程序。目前的結構如下:用於存儲大量記錄的應用程序結構
設備聯繫人服務器並下載包含服務器上次每條記錄被修改目前所有的記錄ID的索引文件。
設備上的每個核心數據記錄都會根據索引文件進行檢查: a)記錄是最新的,沒有任何反應。 b)記錄已過期,從設備中刪除並從服務器重新加載。 c)記錄不是索引文件的一部分,並從設備中刪除。 d)使用列表ID的設備上找不到記錄,並從服務器下載。
我使用索引文件,因爲我只需要下載每個記錄的一小部分數據以便比較。
我的問題是這樣的,我目前有大約1250測試記錄在服務器上。使用當前設置,需要將近3分鐘(使用WiFi)完成初始索引檢查例程。在iOS應用程序中處理大量記錄必須有更好的方式。預先嚐試加載核心數據中的所有記錄我錯了嗎?
作爲參考,我包括ListingRecord.h
@property (nonatomic, retain) NSString * amenitiesText;
@property (nonatomic, retain) NSString * bodyLabel1;
@property (nonatomic, retain) NSString * bodyLabel2;
@property (nonatomic, retain) NSString * bodyLabel3;
@property (nonatomic, retain) NSString * brokerID;
@property (nonatomic, retain) NSString * companyID;
@property (nonatomic, retain) NSDate * dateCreated;
@property (nonatomic, retain) NSString * descriptionText;
@property (nonatomic, retain) NSString * displayPrice;
@property (nonatomic, retain) NSString * featuredListing;
@property (nonatomic, retain) NSString * headerLabel;
@property (nonatomic, retain) NSData * headerPhoto;
@property (nonatomic, retain) NSString * lastUpdate;
@property (nonatomic, retain) NSNumber * latitudeData;
@property (nonatomic, retain) NSNumber * listingID;
@property (nonatomic, retain) NSString * listingType1;
@property (nonatomic, retain) NSString * listingType2;
@property (nonatomic, retain) NSString * listingType3;
@property (nonatomic, retain) NSString * listingType4;
@property (nonatomic, retain) NSString * listingType5;
@property (nonatomic, retain) NSString * listingType6;
@property (nonatomic, retain) NSString * listingType7;
@property (nonatomic, retain) NSString * listingType8;
@property (nonatomic, retain) NSNumber * longitudeData;
@property (nonatomic, retain) NSNumber * numberPrice;
@property (nonatomic, retain) NSData * photo1;
@property (nonatomic, retain) NSData * photo2;
@property (nonatomic, retain) NSData * photo3;
@property (nonatomic, retain) NSData * photo4;
@property (nonatomic, retain) NSData * photo5;
@property (nonatomic, retain) NSString * pinLabel;
@property (nonatomic, retain) NSData * thumbnailPic;
@property (nonatomic, retain) NSString * sessionID;
該索引文件包含listingID和LASTUPDATE並比較這些抵靠裝置上的核心數據記錄。
如果您向我們展示瞭如何執行初始索引檢查例程,這將有很大幫助。 – sosborn
列表文件是什麼格式?例如XML?你有沒有想過返回一個JSON對象來表示索引?它可能會加快速度。 – bennythemink
@sosborn - 我做一個NSURLRequest來獲取XML文件,然後做一個NSXMLParser來獲取數據。你想要更多細節嗎? – sangony