release 是将内存引用计数-1 nil 直接赋值为0 除非这个指针指向的空间被释放 否则就是内存泄露
nil是表示0x0,可以理解为空指针。release是释放内存。
例如:你开辟了一块内存p=[[nsobject alloc] init]; 这个时候p是指向这块内存区域的,如果你直接p=nil,会造成这块内存没有被释放,内存泄露。 如果[p release]释放了内存,但是p还是指向这个内存地址,如果在操作p会出现EXC_BAD_ACCESS。正确的做法应该是释放后,把p指向nil
nil是表示0x0,可以理解为空指针。release是释放内存。
例如:你开辟了一块内存p=[[nsobject alloc] init]; 这个时候p是指向这块内存区域的,如果你直接p=nil,会造成这块内存没有被释放,内存泄露。 如果[p release]释放了内存,但是p还是指向这个内存地址,如果在操作p会出现EXC_BAD_ACCESS。正确的做法应该是释放后,把p指向nil