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