다음 while 문은 최대 한 번 실행 한 후에 종료하지 않아야합니까? 문맥 디스크로 플러시되지 않은 변경 내용을 가지고있는 동안왜 무한 루프가 발생합니까? while ([managedObjectContext hasChanges]) [managedObjectContext processPendingChanges]
while ([self.managedObjectContext hasChanges])
[self.managedObjectContext processPendingChanges];
한 번만 실행하려면'while '대신'if()'를 사용할 수 있습니다. –
알지만 중요한 점은 보류중인 변경 사항을 처리하려고한다는 것입니다. 위의 코드는'-processPendingChanges'가 실제로 내가 원하는 것을 수행 하는지를 보는 것이다. 이 경우'-hasChanges'는 거짓이됩니다. 그러나 불행히도,이 테스트는 내가 무슨 일이 일어나고 있는지 정말로 이해하지 못한다는 것을 지적한다 : ( – markjs