거의 비슷하지만 크기가 작은 다음 두 가지 시나리오에 대해 알려주십시오.Xcode를 사용하여 루프에서 객체를 올바르게 처리하는 방법
시나리오 1 : 모든위한 내가 ARC 위의 거대한 루프를하고 아무 의미가 없습니다에 설정되어 있기 때문에 내가 말되었다
NSString *iAmAstring;
for(int i = 0; i < 100000;i++)
{
NSLog(@"INT VALUE: %d", i);
iAmAstring = [NSString stringWithFormat:@"%d", i];
NSLog(@"STRING VALUE: %@", iAmAstring);
}
과 내부 :
다음 코드에서 루프를 실행하고 난 문자열 포인터를 할당하고 initialising입니다. 나는 너무 작고 중요하지 않으므로 ARC가 처리 할 수 있습니다. 그러나 더 큰 물건으로는하지 마라. 나는 원래 C# 배경에서이고 null의 루프 끝에서 내 문자열을 설정하는 데 익숙하다. 그러나 루프의 끝에서 ARC가 불만을 제기 할 수는 없다. 여기에 nil
으로 설정하면 내가 들었다. 루프의 끝 나는 ARC를위한 더 많은 작업을 만들고있을 것이고 나는 정말로 일을 제대로하지 않고 좀비 코드를 작성하고 있습니다. 루프가 끝날 때 ARC가 ON으로 설정되어있는 메모리 크기 (작게는 내가 선호하는 문자열)가 작은 거대한 루프에서 할당하는 객체에 대해 수행 할 작업을 명확히 할 수 있습니까?
시나리오 2 :
상기와 동일하지만 위의 사용 지금있는 NSString 그게 지금 크기가 큰 다른 목적은 가정합니다. 여기에 분명히 &을 루프 전에 초기화 한 다음 루프를 설정하여 루프에서 사용하지만, 루프의 끝에서 좀 더 자유롭게하기 위해 어떻게해야할까요? 다시 ARC가 켜져 있습니까?
미리 감사드립니다.