1
私は次のようにObjective Cの関数にCGRectを渡すためにしようとしている:私は_cropRect
を参照してください悪いレシーバタイプ「CGRect」
+(UIImageView *) detectEdges: (UIImageView *)_sourceImageView withCropRect:(CGRect)_cropRect
{
[_cropRect topLeftCornerToCGPoint:[(NSValue *)[sortedPoints objectForKey:@"0"] CGPointValue]];
[_cropRect topRightCornerToCGPoint:[(NSValue *)[sortedPoints objectForKey:@"1"] CGPointValue]];
//code continues
毎回私は、コンパイラエラーを取得:"Bad Receiver Type 'CGRect'"
。なぜこれが起こっているのですか、それを修正するために何をすべきですか?
'CGRect'はクラスではなく構造体です。 * topLeftCornerToCGPoint: 'メソッドは認識されません。サードパーティのコード/リポジトリを使用している場合は、参照を追加してください。 –
私は_cropRectを別のクラスから渡そうとしています。私はUIImageViewで渡すことはできますが、CGRectでは渡すことはできません。なぜ私はCGRectを関数に渡すことができないのか分かりません。 – Tom
これを関数に渡すことはできますが、メッセージを送ることはできません( 'topLeftCornerToCGPoint')。左上隅には '_cropRect.origin'を使ってCGRect構造体(オブジェクトではない)を逆参照することができます – danh