2

拡張機能を作成したいが、 of typeArrayの拡張のみを行う場合、Swift でそれは可能ですか?Array[UIView]

現在、 type の要素のみを保持extension Arrayするという前提条件で通常の処理を行っていますが、もっと良い方法が必要なようです。ArrayUIView

これが私が現在行っている方法です:

extension Array {

    mutating func sortByVerticalPositionTopToBottomIn(rootView: UIView) {
        precondition(arrayConsistsOfOnlyType(UIView), "This method should only be used for arrays of UIViews.")

        self.sort {
            let firstObj = $0 as! UIView
            let secondObj = $1 as! UIView
            return firstObj.convertPoint(CGPointZero, toView: rootView).y < secondObj.convertPoint(CGPointZero, toView: rootView).y
        }
    }

}
4

0 に答える 0