Tôi có một ứng dụng đang sử dụng tính năng bảo toàn trạng thái UIKit trong iOS 6. Tôi có thể lưu/khôi phục trạng thái của bộ điều khiển chế độ xem, tức là tab nào được chọn và phân cấp điều khiển điều hướng. không thể có được cái nhìn bảng của tôi để khôi phục lại sự bù đắp của nó. Tôi có một nhận dạng phục hồi trong kịch bản của tôi cho quan điểm cũng như bộ điều khiển xem và điều khiển view (nguồn dữ liệu của bảng) thực hiện UIDataSourceModelAssociation
như sau:Bảo vệ trạng thái UIKit không khôi phục độ lệch cuộn
- (NSString *)modelIdentifierForElementAtIndexPath:(NSIndexPath *)indexPath inView:(UIView *)view
{
TSStatus *status = [self._fetchedResultsController objectAtIndexPath:indexPath];
return status.objectID.URIRepresentation.absoluteString;
}
- (NSIndexPath *)indexPathForElementWithModelIdentifier:(NSString *)identifier inView:(UIView *)view
{
NSURL *statusURL = [NSURL URLWithString:identifier];
NSManagedObjectID *statusID = [[TSDataController sharedController].persistentStoreCoordinator managedObjectIDForURIRepresentation:statusURL];
TSStatus *status = (TSStatus *)[[TSDataController sharedController].mainContext objectWithID:statusID];
return [__fetchedResultsController indexPathForObject:status];
}
modelIdentifierForElementAtIndexPath:inView:
là nhận được gọi khi ứng dụng đi vào nền tuy nhiên, modelIdentifierForElementAtIndexPath:inView:
không bao giờ được gọi.
Tôi cho rằng đoạn đóng của bạn là lỗi đánh máy? --- "modelIdentifierForElementAtIndexPath: inView: được gọi khi ứng dụng chuyển sang nền, tuy nhiên modelIdentifierForElementAtIndexPath: inView: không bao giờ được gọi." – Daniel