我正在创建一个处理房地产列表的 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,并将它们与设备上的核心数据记录进行比较。