EXC_BAD_ACCESS 重现

exc_bad_access(code=1, address=0x789870)野指针错误,主要的原因是,当某个对象被完全释放,也就是retainCount,引用计数为0后。再去通过该对象去调用其它的方法就会出现野指针错误。

错误代码:

TestEntity.h

#import <Foundation/Foundation.h>

@interface TestEntity : NSObject

@property(nonatomic,assign) NSString *time;

@end

TestEntity.m

@implementation TestEntity

@end

CallTest.m

#import "TestEntity.h"

@interface CallTest()
@property(strong) TestEntity *test;
@end

@implementation CallTest

-(void)viewDidLoad {
    test = [TestEntity new];
}

-(void)viewWillAppear:(BOOL)animated {
    UILabel *content = [[UILabel alloc] initWithFrame:CGRectZero];
    content.translatesAutoresizingMaskIntoConstraints = NO;
    content.font = [UIFont systemFontOfSize:16];
    content.textColor = [UIColor whiteColor];
    //下面一行代码有可能会产生 EXC_BAD_ACCESS 错误
    content.text = test.time;
    content.numberOfLines = 0;
    content.textAlignment = NSTextAlignmentCenter;
    [self.view addSubview:content];
    [content lyt_alignLeftToParent];
    [content lyt_alignRightToParent];
}

@end


你可能感兴趣的:(ios,exc_bad_access,野指针)