何がどうなっていたのか
昨日のエントリの話です。
http://d.hatena.ne.jp/masakih/20120429/1335715264
インポートしたファイルの中に、このような非形式プロトコルがあったのが原因でした。
@interface NSObject (Hoge) - (void)setTitle:(NSString *)title; @end
非形式プロトコルは、「これらのメソッドが実装されていたら呼び出しますよ」という宣言です。
が、コンパイラには、「すべてのObjcオブジェクトはこれらのメソッドを実装しています」という宣言と区別がつきません。
これが、readonlyなプロパティ title に対する値の代入が可能であった原因です。