2016-06-15 5 views
1

내가 인터넷에서 사진을 다운로드 한 후 내 CoreData의 경로를 저장하는 로컬에 데이터를 저장하고있어, 이런 식으로 작동 (복사 된 파일의 데이터와받은 데이터를 인쇄하여 디버깅 한 결과 managedContext 오류가 발생 함).파일 경로는 첫 번째 통화

다음보기에

, 내가 사용 않는 UITableView

let path = authorArray.objectAtIndex(indexPath.row).objectAtIndex(0).objectForKey("avatar")! as! String 
    let name = authorArray.objectAtIndex(indexPath.row).objectAtIndex(0).objectForKey("name") 
    do { 
     let data = try NSData(contentsOfFile: path, options: NSDataReadingOptions()) 
     let image = UIImage(data: data) 
     cell.profilePicture.image = image 
     cell.profilePicture.layer.cornerRadius = cell.profilePicture.layer.cornerRadius/2; 
     cell.profilePicture.layer.masksToBounds = true; 
    } 
    catch { 
     print("failed pictures") 
    } 

cellForRowAtIndexPath에 I가 사진을 얻을되는 것은 내 cell.profilePicture하지만 최대한 빨리 다른 곳에서 어떤 수정을하고 엑스 코드에서 내 응용 프로그램을 다시 시작으로, 오류 메시지가 나타납니다. 사진 경로는 바뀌지 않았지만 그로부터 얻은 데이터는 nil입니다. 코드를 업데이트 할 때까지 작동하는 이유를 찾을 수 없습니다. 매번 작동하도록하는 모든 솔루션?

+3

문서 디렉토리가 변경 될 수 있습니다. 특히 빌드간에 변경할 수 있습니다. 전체 경로는 CoreData에 마지막 부분 (파일 이름과 확장명) 만 저장하면 안됩니다. 가져온 후 응용 프로그램 문서 디렉토리를 찾아 파일 이름을 doc 디렉토리 경로에 추가합니다. – pbasdf

답변

1

pbasdf가 주석에 언급했듯이, 파일 이름 + 확장자 대신 전체 문서 디렉토리 경로를 저장하고있었습니다. 모든 빌드에서 디렉토리 변경 사항을 문서화합니다.