지금까지 제 반에서 Quick Look을 사용하는 방법을 알아봤습니다.

9727 단어 XcodeSwiftiOS
WWDC 2014: Debugging in Xcode 6에서 발표한 사용자 정의 Quick Look이 재미있어 보여서 지금까지 만져봤어요.

고속도로


팝업 디스플레이에서 객체 변수의 현재 상태를 그래픽으로 표시할 수 있습니다.빠른 찾기 단추를 누르거나 Xcode 아래에 있는 디버그 아리아에서 변수를 선택한 상태에서 스페이스바를 누르면 볼 수 있습니다.

빠른 검색에서 볼 수 있는 객체 유형은 다음과 같습니다.
Quick Look Data Types
위의 상황에 맞지 않는 유형이라도 기본 빠른 찾기가 표시됩니다.

자신이 만든 객체 클래스에서 렌더링 방법을 추가하여 빠른 검색을 확장할 수도 있습니다.이번에 나는 그 방법을 썼다.

자신의 클래스에서 빠른 불러오기 사용하기


debugQuickLookObject 방법


빠른 검색을 사용하려면 자신의 클래스에서 debugQuickLookObject라는 방법을 실행하십시오.인터럽트에서 멈추고 빠른 찾기 단추를 누르면 이 함수를 호출합니다.
func debugQuickLookObject() -> AnyObject? {
  // 色々やる
  return [オブジェクト]
}
되돌아오는 값은 표현하고자 하는 데이터를 전달하는 대상이지만 무엇이든 되돌아갈 수 있는 것은 아니다.다음 중 하나를 선택해야 합니다.

발췌

주의사항


이 방법은 정지된 프로그램을 디버깅할 때 실행하는 방법이기 때문에 설치의 낭비를 없애고 필요한 코드만 써야 한다.실행 중인 프로그램이 영향을 받을 수 있음을 고려하고, 가능하다면 캐시 반환 값도 고려합니다.

실시


그럼 실제로 해볼게요.이런 뷰를 해봤어요.
Get QuickLook Preview of Swift objects in XCode
이런 설치를 진행하다.
class CustomView : UIView {

    @IBOutlet var customView: UIView!
    @IBOutlet weak var viewTitle: UILabel!
    @IBOutlet weak var photoTitle: UILabel!
    @IBOutlet weak var imageView: UIImageView!

    override init(frame: CGRect) {
        super.init(frame: frame)
        self.comminInit()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.comminInit()
    }

    private func comminInit() {
        let view = Bundle(for: type(of: self)).loadNibNamed("CustomView", owner: self, options: nil)?.first as! UIView
        self.addSubview(view)
        customView.frame = CGRect(x: 0, y: 0, width: frame.size.width, height: frame.size.height)
    }

    func debugQuickLookObject() -> AnyObject? {        
        return "viewTitle = \(viewTitle.text), photoTitle = \(photoTitle.text)" as AnyObject?
    }    
}
이 상태에서 호출단에 단점을 추가하고 빠른 검색을 보면 이렇게 됩니다.

String으로 잘 얻었어.
물론, 당신이 아래의 코드를 사용한다면
func debugQuickLookObject() -> AnyObject? {        
    return imageView
}
이미지를 확인할 수 있습니다.

겸사겸사 말씀드리지만, 만약 당신이 이런 코드를 쓴다면
func debugQuickLookObject() -> AnyObject? {
    let urlStr:String = "https://www.google.co.jp/"
    let url:NSURL = NSURL(string:urlStr)!
    return url as AnyObject?
}
웹 페이지가 표시됩니다.문자를 입력할 수도 있습니다.

참고로 Enter 키를 눌러 검색을 실행하면 이렇게 표시됩니다.

오픈하면 사파리가 구글을 표시합니다.

생각


예전에 자바를 쓸 때 toString이 출력하는 속성의 값을 덮어쓰기도 했는데 그것과 똑같을 것 같아요.
이걸 따로 준비해야 하는 장면이 얼마나 많은지 모르겠지만 그래픽으로 상태를 보여주는 건 좋은 일이고, 보고 싶은 값을 단숨에 볼 수 있도록 설정하면 수월해지기 때문에 기억해도 손해 볼 일이 없다.

좋은 웹페이지 즐겨찾기