在iOS中,什么样的定位可能导致野生指针?
在代码中,如果斯图释放,斯图就会变成一个野指针。在iOS中,什么样的定位可能导致野生指针?,ios,Ios,在代码中,如果斯图释放,斯图就会变成一个野指针。 但是这些代码只出现在MRC下面,什么可能导致ARC下面的野生指针?对于赋值或不安全\u未恢复类型的属性,或者使用不安全\u未恢复注释的变量,您可以获得带有ARC的悬空指针: Student *stu = [[Student alloc] init]; [stu setAge:10]; [stu release]; [stu setAge:10]; 由于没有其他人引用x,因此属性student在方法执行后是一个悬空指针。在ARC中,如果没有
但是这些代码只出现在MRC下面,什么可能导致ARC下面的野生指针?对于
赋值或不安全\u未恢复类型的属性,或者使用不安全\u未恢复注释的变量,您可以获得带有ARC的悬空指针:
Student *stu = [[Student alloc] init];
[stu setAge:10];
[stu release];
[stu setAge:10];
由于没有其他人引用x
,因此属性student
在方法执行后是一个悬空指针。在ARC中,如果没有更强大的指针在作用域用完时使对象保持活动状态,则对象将被释放。感谢您的回答
// declaration
@property(assign) Student *student;
- (void)createStudent {
Student *x = [Student new];
self.student = x;
}