2014-11-06 3 views
2

저는 Xcode와 Swift가있는 초보자입니다. 내보기에서 OS X 응용 프로그램의 이미지를 설정하려고합니다. 이미지는 웹에서로드해야하지만 중요하지 않습니다.스위프트 : NSImage 이미지 소스를 변경하는 방법?

새로운 코코아 응용 프로그램을 만들었습니다. 목록보기가 작동합니다. 목록 행에 대한 XIB에서 "이미지보기"요소를 배치하고이 행을 사용하여 각 행에 정적 이미지를 표시 할 수 있습니다.

이제 행이로드 될 때 이미지 URL을 변경하고 싶습니다. 이미지에서 코드를 컨트롤러 클래스로 드래그하여 코드에 @IBOutlet을 추가했습니다.

컨트롤러 클래스의 내 코드입니다 : 이제 마지막 문에서 매우 재미 좌절 오류 메시지

import Cocoa 

class ListRowViewController: NSViewController { 

    @IBOutlet weak var rowImage: NSImageView! 

    override var nibName: String? { 
     return "ListRowViewController" 
    } 

    override func loadView() { 
     super.loadView() 

     var url = NSURL(fileURLWithPath: "http://example.com/some-image.png") 

     var image = NSImage(byReferencingURL: url!) 

     self.rowImage.image(image) 
    } 

} 

(self.rowImage.image(image)는)

식의 형식을 변환 할 수 없습니다 'NSImage입니다 'NSImage를 입력 하시겠습니까?'.

확인. 그게 무슨 뜻이며 어떻게 수정합니까? 그게 옵션과 관련된 건가요? 내가 ?!의 실험했지만, XCode가 나에게 기대하는 바를 알아낼 수 없다.

답변

2

imageNSImageView속성 인입니다. 할당 할 수 있습니다.

self.rowImage.image = image 

그리고, 당신의 URL이 NSURL(fileURLWithPath:) 잘못은 로컬 파일입니다. 대신 NSURL(string:)을 사용하십시오.

var url = NSURL(string: "http://example.com/some-image.png") 
+0

감사합니다. @rintaro, 정말 그랬습니다. 나는 조금 당황 스럽다. Objective-C 튜토리얼에서 나는''.setImage'라는 메소드가 있었는데, 지금은 사라진 것처럼 보입니다. '.image'는 그때 속성이라는 것을 알 수 있습니다. XCode에서 "No such method : image"와 같은 힌트를주기 위해 너무 많이 묻는 것 같아요. :) 그리고 당신은 NSURL에 다시 올랐습니다. 두 가지 변경 사항 모두 완벽하게 작동합니다. 다시 한 번 감사드립니다! – udondan

관련 문제