web-dev-qa-db-ja.com

CGRectZero対CGRect.zeroRect?

どちらもSwiftで同じように動作するようです。どちらを使うべきですか?

  1. CGRectZero vs _CGRect.zeroRect_
  2. GRectMake(1, 1, 1, 1) vs CGRect(x: 1, y: 1, width: 1, height: 1)UIEdgeInsetsMake(1, 1, 1, 1) vs UIEdgeInsets(top: 1, left: 1, bottom: 1, right: 1)
  3. その他のパタ​​ーン
27
ma11hew28

更新2

Swift 3、CGRectZeroはもう利用できません。_CGRect.zero_が唯一の選択肢です。 それを学び、知って、生きてください。

更新

_CGRect.zeroRect_は、iOS 9.0で_CGRect.zero_に名前が変更されました。これはCGRectZero(および同じ数のキーストローク、カウント shift キーストロークとして)CGRectZeroを使用する習慣のあるObjective-Cコーダーではない人には_CGRect.zero_をお勧めします。

元の

どちらか一方を支持する特別な理由はありません。自分またはチームが好むスタイルを使用する必要があります。

個人的には、CGRectZeroを使用します。これは短く、Objective-Cから慣れているからです。

同じ理由で、CGRectMakeを使用します。

UIEdgeInsetsのインスタンスはめったに表示されないため、おそらくUIEdgeInsets(top:left:bottom:right:)を使用します。したがって、UIEdgeInsetsMakeの引数の順序を覚えている可能性は低くなります。 (UIEdgeInsetsMakeへの呼び出しを入力しているときにプレースホルダーを取得しますが、既存のコードを読んでいるときは引数の順序についてのヒントはありません。)

72
rob mayoff