我有点固执,但是我想很好地理解弱和强的引用,所以我再次问你。 考虑这个: __weak NSString* mySecondPointer = myText; NSLog(@"myText: %@", myText); 结果是myText: (null) ,它非常明显 – 弱赋值在赋值后被设置为null,因为没有强引用指向的对象。 但在这种情况下: __strong NSString* strongPtr = [[NSString alloc] initWithFormat:@"mYTeSTteXt %d"]; // weak pointer points to the same object as strongPtr __weak NSString* weakPtr = strongPtr; if(strongPtr == weakPtr) NSLog(@"They are pointing to the same obj"); NSLog(@"StrongPtr: %@", strongPtr); NSLog(@"weakPtr: %@", weakPtr); […]