문제

나는 반환 된 가치의 의미를 이해하려고 노력하고있다. nsdata writeTofile : 옵션 : 오류 :. 이 메소드는 BOOL을 반환합니다. Apple의 문서에 따르면 "작업이 성공하면 예, 그렇지 않으면 아니오"입니다.

충분히 공정하지만, 그렇지 않은 경우, 오류 매개 변수가 검색 가능한 nserror* 값으로 설정 될 것이라고 가정했을 것입니다. 그러나 내가 나오는 결과에서는 그렇지 않습니다. 따라서 나는 다소 혼란스러워서 실패의 원인을 결정하는 방법을 모른다.

재치에 따르면이 코드는 다음과 같습니다.

NSError* error = nil;
BOOL success = [data writeToFile: filePath error: &error];
if ( error )
    NSLog( @"error = %@", [error description] );

success 로 밝혀지다 NO 코드에서는 실행 중입니다 NSLog 진술은 결코 실행되지 않습니다. 어떻게 되나요?

하워드

도움이 되었습니까?

해결책

가능합니다 data ~이다 nil, 어떤 경우 [data writeToFile:error:] 보고 nil, 하지만 *error 설정되지 않았습니다.

다른 팁

writetofile 메소드는 성공에 대해 사실을 반환하고 실패에 대한 거짓 -실제로 확인하고 싶은 것입니다.

그래서 시도하십시오 :

if(!success)

if (error) 대신 조건부로.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top