2016-12-07 4 views
0

Ich habe eine Menge Ansichten und Schieberegler auf meiner Seite erstellt, und als Ergebnis habe ich einige Constraint-Konstanten. Mein Freund bemerkte, dass nach jeder Gruppe würde ichVariable erstellen und zum Array in derselben Zeile hinzufügen

NSLayoutConstraint.activate([...,...,...]) 

verwenden und dann für den nächsten Satz von Elementen würde ich das gleiche tun. Er schlug vor, dass ich nur ein Array wie diese

var allConstraints = [NSLayoutConstraint]() 

erstellen und jede Einschränkung auf das Array anhängen und dann tun es alle auf einmal

so nach jeder Konstante, die ich schaffe ich sage

allConstraints.append(...) 

Was ich wissen möchte ist, wenn ich die NSLayoutConstraint-Konstante erstellen kann, kann ich es in der gleichen Zeile automatisch zu AllConstraints-Array hinzufügen?

Das scheint, als wäre es sauberer.

Antwort

1

tun dies wird Ihren Code schwer zu lesen machen, also schlage ich vor, Sie nicht! aber ja, man kann dies in einer einzigen Zeile erreicht

allConstraints.append(NSLayoutConstraint(item: AnyObject>, attribute: <NSLayoutAttribute>, relatedBy: <NSLayoutRelation>, toItem: <AnyObject?>, attribute: <NSLayoutAttribute>, multiplier: <CGFloat>, constant: <CGFloat>)) 
+0

Sie nur empfehlen sagen ....... allConstraints + = [xxx, yyy] .... am Ende alle von ihnen? – RubberDucky4444

+0

wird als richtig markieren, wenn SO erlaubt es mir zu – RubberDucky4444

+0

beispiels Sie zwei Einschränkungen haben, 'lassen heightConstraint = NSLayoutConstraint() lassen widthConstraint = NSLayoutConstraint() allConstraints.append (contentsOf: [heightConstraint, widthConstraint])' – Mohammadalijf

Verwandte Themen