不動産のリストを扱う iOS アプリを作成しています。現在の構造は次のとおりです。
デバイスはサーバーに接続し、サーバー上のすべての現在のレコード ID と各レコードが最後に変更された時刻を含むインデックス ファイルをダウンロードします。
デバイス上の各コア データ レコードがインデックス ファイルと照合され、次のいずれかがチェックされます。a) レコードは最新であり、何も起こりません。b) レコードが古く、デバイスから削除され、サーバーから再ロードされた。c) レコードはインデックス ファイルの一部ではなく、デバイスから削除されます。d) リスト ID を持つデバイスでレコードが見つからず、サーバーからダウンロードされます。
比較するために各レコードのデータのごく一部のみをダウンロードする必要があるため、インデックス ファイルを使用します。
私の問題はこれです。現在、サーバーには約1250のテストレコードがあります。現在のセットアップでは、最初のインデックス チェック ルーチンを完了するのに (WiFi を使用して) ほぼ 3 分かかります。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 が含まれ、デバイスのコア データ レコードと比較されます。