[iOS] fix crash when updating booking data on PP

This commit is contained in:
Aleksey Belouosv 2018-10-17 19:00:46 +03:00 committed by Aleksey Belousov
parent e753e251c0
commit 1907a10106
2 changed files with 22 additions and 18 deletions

View file

@ -211,14 +211,12 @@ NSString * const kUserDefaultsLatLonAsDMSKey = @"UserDefaultsLatLonAsDMS";
.decimalSeparator]];
NSString * currencyString = [self.currencyFormatter stringFromNumber:currencyNumber];
dispatch_async(dispatch_get_main_queue(), ^{
self.cachedMinPrice = [NSString stringWithCoreFormat:L(@"place_page_starting_from")
arguments:@[currencyString]];
self.bookingDiscount = blocks.m_maxDiscount;
self.isSmartDeal = blocks.m_hasSmartDeal;
if (self.bookingDataUpdatedCallback)
self.bookingDataUpdatedCallback();
});
self.cachedMinPrice = [NSString stringWithCoreFormat:L(@"place_page_starting_from")
arguments:@[currencyString]];
self.bookingDiscount = blocks.m_maxDiscount;
self.isSmartDeal = blocks.m_hasSmartDeal;
if (self.bookingDataUpdatedCallback)
self.bookingDataUpdatedCallback();
};
auto params = booking::BlockParams::MakeDefault();

View file

@ -235,17 +235,23 @@ std::array<Class, 9> const kPreviewCells = {{[_MWMPPPTitle class],
auto reviewCell = static_cast<MWMPPPReview *>(c);
if (data.isBooking)
{
[reviewCell configWithRating:data.bookingRating
canAddReview:NO
isReviewedByUser:NO
reviewsCount:0
ratingsCount:0
price:data.bookingPricing
discount:data.bookingDiscount
smartDeal:data.isSmartDeal
onAddReview:nil];
auto configCellBlock = ^(MWMPlacePageData *data) {
[reviewCell configWithRating:data.bookingRating
canAddReview:NO
isReviewedByUser:NO
reviewsCount:0
ratingsCount:0
price:data.bookingPricing
discount:data.bookingDiscount
smartDeal:data.isSmartDeal
onAddReview:nil];
};
configCellBlock(data);
__weak __typeof(data) weakData = data;
data.bookingDataUpdatedCallback = ^{
[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
__strong __typeof(weakData) data = weakData;
if (data)
configCellBlock(data);
};
}
else