0

iOS ではobjRectCGRectオブジェクトです。コードは正常に実行されます

if (objRect.origin.x > 0)  { 
    // do something 
}

しかし、その下の行

NSLog(@"%@", objRect);

不正なメモリ アクセスが発生し ( EXC_BAD_ACCESS)、プログラムが停止します。何故ですか?他の方法でオブジェクトを印刷できますか?

4

1 に答える 1

3

CGRect は Objective-C オブジェクトではないため、[objRect の説明] (%@ の意味) に応答できません。それは構造です:

struct CGRect {
    CGPoint origin;
    CGSize size;
};
typedef struct CGRect CGRect;

CGRect をログに記録したい場合は、NSStringFromCGRectを使用できます。

于 2012-04-20T03:58:09.540 に答える