iOS 开发中遇见的小bug

1、今天封装了个delegate,发现delegate方法不能实现,具体分析发现是因为在cell里面只在cell创建时声明了delegate,把声明放外面即可解决

- (IBAction)setAddressForDefult:(UIButton *)sender
{
    if ([self.delegate respondsToSelector:@selector(personAddressTableViewCellSetDefultAddress:)])
    {
        [self.delegate personAddressTableViewCellSetDefultAddress:sender];
    }
}
 PersonAddressTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:settingCell];

    tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

    if (cell==nil) {
        cell = [[[NSBundle mainBundle]loadNibNamed:@"PersonAddressTableViewCell" owner:nil options:nil] firstObject];;
        cell.accessoryType = UITableViewCellAccessoryNone;
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }

    cell.delegate = self;
    cell.setDefultButton.tag = indexPath.section;
    [cell settingCellValue:data[indexPath.section]];
    return cell;

2、今天在调试时发现了一个变量为空的问题,我有一个NSString的变量,里面是有值的。在传递给另一个类的成员函数时,跟了下代码,参数变成nil了。提示

(NSString *) srcfile = <no location, value may have been opmized out>

解决办法很简单:
这不是代码的问题,主要是编辑环境的问题,Produc-> Scheme-> Edit Scheme run ,build configuration 把relesae改为debug。

3、今天在写代码时发现一个有趣的问题,由于使用的ARC环境,所以可能是内存过早释放的问题。下面看实例:

ChangeNicknameViewController *changeNicknameVC = [[ChangeNicknameViewController alloc]init];
changeNicknameVC.isShowNickVC = YES;
[self.navigationController pushViewController:changeNicknameVC animated:YES];
NSLog(@"修改昵称");

注意这里的ChangeNicknameViewController类里面的isShowNickVC,我在ChangeNicknameViewController类里实现了这样的方法

- (void)setIsShowNickVC:(BOOL)isShowNick
{
    [self creatNickView];

    if (isShowNickVC == YES) {
        nickLable.text = @"昵称";
        [self setNickNameFieldContent:@"昵称"];
    }else
    {
        nickLable.text = @"身份证";
        [self setNickNameFieldContent:@"身份证"];
    }
}

在这里可以实现但是我发现self.isShowNickVC属性为空,所以我在此类中重新声明@synthesize isShowNickVC;并在- (void)setIsShowNickVC:(BOOL)isShowNick方法里添加,isShowNickVC = isShowNick;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值