Tôi đang sử dụng Project này từ github, đây là bộ chọn hình ảnh. Tôi đã phải thực hiện một thay đổi rất nhỏ từ ios7 để làm cho hình ảnh xem trước từ album của bạn hiển thị lại nhưng với thay đổi đó ngay bây giờ khi bạn rời khỏi bộ chọn và quay lại vào ảnh đã chọn (2/5) đặt lại về 0/5 mặc dù tôi đã chọn ảnh. Làm thế nào tôi có thể sửa lỗi này?Sự cố phân luồng hoạt động khác nhau trên ios 7
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0)
dường như mất vĩnh viễn để cập nhật ui ngay cả với dispatch_async(dispatch_get_main_queue()
để tải lại ui bên trong của nó. Khi tôi nhận xét các hình ảnh dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0)
tải ngay lập tức nhưng những thứ khác bị hỏng mà phụ thuộc vào hàng đợi.
đây là đoạn mã với dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0)
tôi đã thay đổi với mã tôi đã thay đổi nhận xét ra
AGIPCAssetsController.m:
- (void)loadAssets
{
[self.assets removeAllObjects];
__ag_weak AGIPCAssetsController *weakSelf = self;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
__strong AGIPCAssetsController *strongSelf = weakSelf;
@autoreleasepool {
[strongSelf.assetsGroup enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
if (result == nil)
{
return;
}
AGIPCGridItem *gridItem = [[AGIPCGridItem alloc] initWithImagePickerController:strongSelf.imagePickerController asset:result andDelegate:strongSelf];
if (strongSelf.imagePickerController.selection != nil &&
[strongSelf.imagePickerController.selection containsObject:result])
{
gridItem.selected = YES;
}
[strongSelf.assets addObject:gridItem];
}];
}
dispatch_async(dispatch_get_main_queue(), ^{
[strongSelf reloadData];
});
});
[strongSelf reloadData];
}
Câu hỏi là gì? –
@Benoit Tôi muốn biết cách cập nhật bộ chọn để biết số lượng ảnh được chọn. Nó đã làm điều này một cách chính xác trước khi tôi loại bỏ các công văn nhưng công văn cần phải được gỡ bỏ cho nó để làm việc trong ios7 một cách chính xác – BluGeni
Tôi đã thử lớp đó nhưng nó không hiển thị cho tôi bất kỳ hình ảnh ngay cả khi tôi sử dụng sửa chữa của bạn. Bạn có thể muốn đào sâu hơn để xem vấn đề gốc ở đây là gì, những gì bạn đang cố gắng làm là một cách giải quyết, không phải là sửa chữa đúng đắn. – lawicko