この質問は「どうすればよいですか」ではなく、Objective-Cの一部のクラスプロパティに関する「なぜこれなのか」です。
以下の2つの例は許可されておらず、エラー(「式を割り当てられません」)が発生することを理解しています。
self.myUIView.frame.origin.x = 50;
self.myUIView.frame.origin = CGPointMake(50,50);
これを行う適切な方法は、新しいCGRectを作成し、必要な値を設定してから、それを割り当てることです。
CGRect rect = self.myUIView.frame;
rect.origin = CGPointMake(50, 50);
self.myUIView.frame = rect;
これがなぜなのか理解したいのですが。
CGRectは、2つの構造体を含む構造体です。制限は、そのメモリをオーバーフローする可能性のある割り当てを防ぐために、構造体の割り当て方法と関係がありますか?それとも、それは公的および私的財産に関する慣習のようなものですか?
これは些細なこと/基本的なことのように思えますが、これらの基本的なことについての泥だらけの/悪い理解を明らかにすることが重要だと思います。