2

基本的に常に指定されたイニシャライザを使用すると考えられているため、 ?[UIView new];ではなく新しい viewInstances を作成するときに少し汚い感じがします。[[UIView alloc] initWithFrame:CGRectZero];

これにしない理由ありますか?実用的な違いはまったくありますか?フレーム情報なしで新しいビューインスタンスを作成している場合、フォールバックは[UIView new];単に多くのコードクラフトを切り取ることになりませんか? とにかく、それは実際には内部で呼び出されていると思います(?)[[UIView alloc] initWithFrame:CGRectZero];

4

2 に答える 2

7

[UIView new]交換する便利な方法な[[UIView alloc] init]ので、[[UIView alloc] initWithFrame:CGRectZero]

そうしない理由はありますか?

この場合、私は「はい」と言います。initこの場合と同等であることは保証できませんinitWithFrame:CGRectZero

私の推測では...

あなたが正しく、2 つが同じように動作する可能性があります。これは将来の証拠ではありません。このような実装の詳細は変更される可能性があります。

1.異なる可能性があります。内部で何が行われているかはわかりませんinitWithFrame:

于 2014-03-06T10:17:23.103 に答える