質問です。
カスタムクラスのinitメソッドをオーバーライドして、プロパティの値を使って初期化処理をしたいです。

CustomClass *class = [CustomClass alloc]init];
class.property = hoge;

としても先にinitされていて、その時にプロパティの値を参照して初期化処理をしてしまうので、hogeが反映されません。
かといって

CustomClass *class;
class.property = hoge;
class = [[CustomClass alloc]init];

としてもhogeを入れた時にはclassは存在してないので反映されません。
どうすればいいんでしょうか?
また、UIViewなどのプロパティは初期化の後に変更しても反映されます。
これはどういう仕組なのでしょうか?