2017-11-02 8 views
0

내가 도서관이이 라이브러리의 코드를 다음과 같이 정의 URLEmbeddedView신속한 유형의 값을 변환 할 수 없습니다 (_, _) -> _ 예상 인수 유형 '((_, CGFloat))로 -> _

을 사용하고 있습니다 :

func addConstraints(with view: UIView, center: CGPoint, multiplier: CGFloat = 1) { 
    view.translatesAutoresizingMaskIntoConstraints = false 
    addConstraints([ 
      (.centerX, center.x), 
      (.centerY, center.y) 
     ] 
     .flatMap { 
      .init(item: view, 
        attribute: $0, 
        relatedBy: .equal, 
        toItem: self, 
        attribute: $0, 
        multiplier: multiplier, 
        constant: $1) 
     }) 
} 

우리는 도서관을 통해 링크의 미리보기를 생성되지만 다음과 같은 오류가 발생 :

유형의 값을 변환 할 수 없습니다 (_, _) -> _ 예상 인수 유형 '((에 _ , CGFloat)) -> _ "at. 플랩 맵 라인.

Objective-C에는 익숙하지만 Swift에는 익숙하지 않습니다. 코드의 문제점은 무엇입니까?

enter image description here

+0

어떤 iOS 버전을 사용하고 있습니까? – PGDev

+0

우리는 iOS 10.1 @PGDev –

+0

에서 문제를 확인하고 있습니다. – PGDev

답변

1

view.addConstraints()에.

나는 당신과 같은 코드를 사용했습니다. view에 제약 조건을 적용하면 완벽하게 작동합니다.

view.addConstraints([ 
     (.centerX, center.x), 
     (.centerY, center.y) 
     ].flatMap { 
      .init(item: view, attribute: $0, relatedBy: .equal, toItem: self, attribute: $0, multiplier: multiplier, constant: $1) 
    }) 

flatMap 구문에는 문제가 없습니다. Xcode-9Xcode-8 코드를 실행했지만 오류가 발생하지 않습니다.

위에서 작성한 동일한 코드를 사용하여 올바르게 컴파일되었는지 확인하십시오.

+0

self.view는 반드시 전달 된 뷰가 아니며 – Mars

+0

제약 조건을 적용하려는 뷰입니다. – PGDev

0

잘못된 addConstraints()가 호출되고있다. 당신이 view.addConstraints()

변경 호출 할 나타나면

당신은 viewController.addConstraints()를 호출하고 또한 8.1 위의 엑스 코드 버전을 사용하는 것이 필요하다고 초 addConstraints()

+0

작동하지 않으며 같은 오류가 발생합니다. –

+0

@BhargavSoni가 답변을 업데이트했습니다. 내 마지막에 확인 – Mars

관련 문제