2017-11-24 14 views
0

私は現在、SwiftでSnapKitを使用しており、ウォークスルーを使ってクイズアプリを作成しています。私は現在いくつかの制約を課しており、制約の配列にいくつかの新しい制約を追加したいと考えています。SnapKitを使用して、既存の制約に新しい制約を追加するのが難しいことを発見しました

"値のタプルタイプ '()にはメンバーのanswerButtonsConstraintsがありません。

しかし、なぜ私は理解していません。誰かが助けてくれますか?

私は、SnapKits remakeConstraintsを使用して制約を再作成しようとしましたが、私が望んでいた結果を得られませんでした。私は単純な構文の変更で正しい結果を作成できると思っていますが、それをどのようにフォーマットするのかはわかりません。どんな助けも非常に高く評価されるでしょう。それはanswersButtonsConstrains.append(言うが下部にある

var answersButtonsConstraints = [ 

    self.answerButtons[0].snp.makeConstraints { (make) in 
     make.leading.equalTo(answerView) 
     make.trailing.equalTo(answerButtons[1].snp.leading).offset(MultipleChoiceViewController.buttonPadding) 
     make.top.equalTo(answerView.snp.top) 
     make.bottom.equalTo(answerButtons[2].snp.top).offset(MultipleChoiceViewController.buttonPadding) 
    }, 

    self.answerButtons[1].snp.makeConstraints { (make) in 
     make.trailing.equalTo(answerView) 
     make.top.equalTo(answerView) 
     make.bottom.equalTo(answerButtons[3]).offset(MultipleChoiceViewController.buttonPadding) 
    }, 

    self.answerButtons[2].snp.makeConstraints { (make) in 
     make.leading.equalTo(answerView) 
     make.trailing.equalTo(answerButtons[3].snp.leading).offset(MultipleChoiceViewController.buttonPadding) 
     make.bottom.equalTo(answerView) 
    }, 

    self.answerButtons[3].snp.makeConstraints { (make) in 
     make.trailing.equalTo(answerView) 
     make.bottom.equalTo(answerView) 
    }] 

    for index in 1..<answerButtons.count { 

     answersButtonsConstraints.append().self.answerButtons[index].snp.makeConstraints { (make) in 
      make.height.equalTo(answerButtons[index-1].snp.height) 
      make.width.equalTo(answerButtons[index-1].snp.width) 
     } 
    } 
} 

)。self.answerButtons私は私の誤りを受け付けておりますところ....です。

答えて

2

あなたはそこに構文エラーがあります:あなたがいない.

for index in 1..<answerButtons.count { 
     answersButtonsConstraints.append(self.answerButtons[index].snp.makeConstraints { (make) in 
      make.height.equalTo(answerButtons[index-1].snp.height) 
      make.width.equalTo(answerButtons[index-1].snp.width) 
     } 
    }) 

後、またはあなたはそれが少し読みやすくしたいの制約のためにローカル変数を作る場合は、括弧内のappendメソッドに引数を渡す必要があります。

for index in 1..<answerButtons.count { 
     let constraint = self.answerButtons[index].snp.makeConstraints { (make) in 
     make.height.equalTo(answerButtons[index-1].snp.height) 
     make.width.equalTo(answerButtons[index-1].snp.width) 
    } 
    answersButtonsConstraints.append(constraint) 
} 
関連する問題