나는이목표 C : 그 변수에 대한 모든 포인터는 새 값을 얻을 수 있도록 값을 지정
NSString * a = @"Hello people";
같은 변수를 정의 그리고 지금은 그래서 b에 포인터를 복사 상상 모두 A와 B 지점 위치 어디에 @ "안녕하세요 사람들"(오른쪽? 아니면 내가이 어떻게 작동하는지 오해합니까?) 메모리에 저장되어
NSString * b = a;
지금 나는 또한 새 값으로 업데이트되도록 B를 변경하고 싶습니다. 이 "감사합니다 모두"
b = @"Thanks all!";
NSLog(@"%@", a); // still "Hello World"
하지만 내가 원하는 것은 이다가의 메모리 위치에있는 어떤을 대체 @ 2 새로운있는 NSString에 B를 가리 킵니다 때문에 작동하지 않습니다 다음 @ "안녕하세요 사람들"그래서 그것에 대한 모든 포인터도 업데이트 될 것입니다.
b = ????;
NSLog(@"%@", a); // Whoa, it still points to the same memory location as b!
고마워요!
괜찮습니다. 하지만 일반적으로 메모리 위치를 다른 것으로 바꿀 수 있어야합니다. 맞습니까? 또는 한 번에 위치 X에서 위치 Y까지 모든 포인터를 업데이트 할 수 있습니까? 그게 아무것도 아닌가요? –
그러나 메모리 조각을 바꾸려면 그 위치의 어떤 점을 알 필요가 없습니다. 맞습니까? NSDate를 현재 시간으로 업데이트하려고합니다. 내가한다면 b = [NSDate new]; 그건 효과가 없을거야. 그러나 어떻게해야합니까? :-) –
@WillemMulder 지난 코멘트를 삭제하고 내 대답을 다른 옵션으로 업데이트했습니다. – Abizern