코드 :이 작업을 실행할 때JXA NSFileManager를 createDirectoryAtPathWithIntermediateDirectoriesAttributesError 예외
function createFolder(path, createIntermediateDirectories) {
var error = {}
$.NSFileManager.defaultManager
.createDirectoryAtPathWithIntermediateDirectoriesAttributesError(
$(path).stringByStandardizingPath,
createIntermediateDirectories,
null,
error);
if (error)
throw Error("Could not create folder '" + path + "'");
};
나는, 비록 오류가 발생 실제로 폴더를 만듭니다. 다음은 오류입니다 : 폴더가 실제로 생성된다는 사실에 의해 판단
Error: exception raised by object: -[NSNull objectForKey:]: unrecognized selector sent to instance 0x7fff7b69b780 (-2700)
, 오류 메시지의 텍스트, 내가 문제를 가정하고있어 (전무) 널 (null) 인 "속성"매개 변수, 함께 . 나는 그것이 폴더를 생성하고, 속성을 할당하고, 그것이 실패 할 때를 생각합니다.
누구나 해결 방법은 무엇입니까? JXA에서 다른 NSFileManager 메소드를 호출하는 데 문제가 없었습니다. null 및/또는 부울 값을 전달하는 NSFileManager 메소드를 포함하여이 문제가 발생했습니다.
감사합니다.
function createFolder(path, createIntermediateDirectories) {
error = $()
$.NSFileManager.defaultManager.createDirectoryAtPathWithIntermediateDirectoriesAttributesError(
$(path).stringByStandardizingPath,
createIntermediateDirectories,
$(),
error)
if (error) {
$.NSLog(error.localizedDescription);
}
};
재밌게 : 죄송합니다
이렇게하면 예외가 발생하지 않습니다. 감사. 그리고 그 결과가 참인지 거짓인지를 확인한다면 그것은 신뢰할만한 것 같습니다. 그러나, 나는 "오류"와 함께 아무것도 할 수없는 것 같습니다. 그것은 항상 "사실"이지만 오류를보고하는 데 사용할 수있는 속성이없는 것 같습니다 (테스트 케이스에서는 "이미 있음"또는 이와 비슷한 것). 그래서 문제가 해결되었습니다. (대단히 감사합니다.) 이제 저는 약간의 퍼즐을 가지고 있습니다. –
createDirectoryAtPathWithIntermediateDirectoriesAttributesError는 호출 후 지정된 디렉토리를 사용할 수있는 경우 항상 true를 리턴한다고 생각합니다. 오류를 발생시키는 유일한 방법은 만들려는 디렉토리와 똑같은 이름의 텍스트 파일을 만드는 것입니다. – ShooTerKo
감사! 감사합니다. –