如果我没有设置断点,那么获得EXC_BAD_access

时间:2016-11-30 06:58:36

标签: ios objective-c exc-bad-access

我在这段代码上获得了一个EXC_BAD_access

_emailID  = [NSMutableString stringWithString:self.txtEmail.text];
_password = [NSMutableString stringWithString:self.txtPassword.text];
 NSDictionary *params = @{@"email" : _emailID, @"password" : _password, @"device" : @"iOS"};

我启用了Zombie模式,这就是我得到的

  

线程1:EXC_BREAKPOINT(代码= EXC_i386_BPT,子代码= 0x0)错误

但是当我在_emailID行上设置断点并手动转到下一行时,它根本不会抛出错误

//View.h
@property (nonatomic, assign) NSMutableString *emailID;
@property (nonatomic, assign) NSMutableString *password;

//View.m
@synthesize emailID;
@synthesize password;

1 个答案:

答案 0 :(得分:1)

当我尝试打印字典时,我尝试了你的代码并崩溃了。

我尝试更改此属性以解决此崩溃问题

@property (nonatomic, strong) NSMutableString *emailID;
@property (nonatomic, strong) NSMutableString *password;

其他代码如下

@synthesize emailID;
@synthesize password;

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.


    emailID  = [NSMutableString stringWithString:self.tfEmail.text];
    password = [NSMutableString stringWithString:self.tfPassword.text];
    NSDictionary *params = @{@"email" : emailID, @"password" : password, @"device" : @"iOS"};

    NSLog(@"%@",params);


}

它有效!!