UIAlertview 的使用<iOS7.0之前>
項(xiàng)目需求兼容ios7 所以UIAlertViewController 不能滿足我的使用,在UIAlertView代理點(diǎn)擊哪一個(gè)按鈕的代理方法 中用block回調(diào)給刪除的方法中獲取cell 實(shí)現(xiàn)刪除操作:
#pragma mark 刪除代理方法
- (void)shopingCellDelegateForGoodsDelete:(ShoppingCell *)cell WithSelectButton:(UIButton *)selectBt
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"是否刪除該商品?" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"確定", nil];
__block typeof(self) safeSelf = self;
_reloadDataAction = ^(){
NSIndexPath *indexPath = [safeSelf.tableView indexPathForCell:cell];
ShopingCarGroup *group = safeSelf.shopingCarGroupArray[indexPath.section];
ShopingCar *shopingModel = group.goodsList[indexPath.row-1];
[safeSelf showCommonProcess:@"刪除中..."];
[[SQGoodManager sharedInstance] delCartGoodsWithId:shopingModel.goodsId price:shopingModel.price callBack:^(int result, id parameters) {
[safeSelf deletesShopSuccessWithShop:shopingModel group:group indexPath:indexPath];
[safeSelf hideCommonProcess];
[[CommonParam sharedInstance] errorDict:parameters isHidden:safeSelf.shopingCarArr.count taostView:safeSelf.tableView errorType:nil];
}];
};
[alertView show];
}
UIAlertView代理方法
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 1) {
if (_reloadDataAction) {
_reloadDataAction();
}
}
}
知識(shí)點(diǎn):
1.block回調(diào)
- block 內(nèi)不能使用self ,會(huì)造成循環(huán)引用. 外頭使用__block typeof(self) bself = self; 或者_(dá)_weak id safeSelf = self 修飾