有人可以向我解释以下结果吗?
//generate an array with 4 objects
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:
[NSNumber numberWithInt:1],
[NSNumber numberWithInt:2],
[NSNumber numberWithInt:3],
[NSNumber numberWithInt:4],
nil];
//release the array
[array release];
//get a count of the number of elements in the array
int count = [array count]; <--- count returns 4
我的计数不应该是零吗? 'release'不会从数组中删除所有元素吗?
答案 0 :(得分:6)
count
的值未定义,因为在数组的最后release
访问属性之后是非法的:实际上,您正在访问悬空指针。
如果您想清除阵列而不使其无效,请使用removeAllObjects
方法。