2017-03-27 3 views
2

내 놀이터 소스 폴더 (Public 클래스)에 UIVIew 하위 클래스가 있는데이 클래스의 일부만 내 기본 놀이터 파일에 추가하려고합니다. 놀이터 내에서 클래스 확장

나는 내 놀이터

public extension SortingAlgorithmView { 

    public func typeTest() { 
     print("dfasfndjasfasfdasfdasf test ") 
    } 
} 

에서 다음을 누른 다음 내 서브 클래스 내부에 나는 그것이 이름 typeTest 아무런 기능이없는 나에게 말한다) typeTest (전화 선언

.

+0

점에서

import UIKit public extension SortingAlgorithmView { public func typeTest() { print("dfasfndjasfasfdasfdasf test ") } } public class SortingAlgorithmView: UIView { } 

// 페이지 폴더 이 코드를 보이게하고 놀이터에서 조작 할 수있게하려는 것입니다. – LoganHenderson

답변

3

대화 형 페이지가 원본 파일과 함께 실행되지 않습니다. 소스 파일을 먼저 컴파일 한 다음 놀이터 페이지로 가져옵니다 (이것이 모든 것을 만들어야하는 이유입니다 public). 이것은 매번 해석되는 것이 아니라 한 번만 컴파일 될 수 있기 때문에 훨씬 더 빨라지지만 놀이터 페이지에서 코드를 참조 할 수 없다는 것을 의미합니다.

소스 파일에서 확장 프로그램에 액세스하려면 소스 파일에 넣어야합니다. 원본 파일은 대화 형 콘텐츠에 액세스 할 수 없습니다.

0

이 나를 위해 잘 작동 ....

편집 : 확인이 시도 제공 - ... 다시, 나를 위해 잘 작동

// extFuncs.swift ---에 소스이의 놀이터

import UIKit 
import PlaygroundSupport 

let view = SortingAlgorithmView(frame: CGRect(x: 0, y: 0, width: 600, height: 600)) 
view.backgroundColor = UIColor.blue 

view.typeTest() 

PlaygroundPage.current.liveView = view 
+1

클래스가 소스 파일에 있고 확장이 놀이터의 메인 페이지에있을 때 작동하지 않습니다. – NobodyNada

+0

원본 파일을 어떻게 가져 오나요? "실행 가능한"예제가 있습니까? – DonMag

+0

소스 파일은 놀이터의 소스 디렉토리에 있습니다. – NobodyNada