iOS ではobjRect
、CGRect
オブジェクトです。コードは正常に実行されます
if (objRect.origin.x > 0) {
// do something
}
しかし、その下の行
NSLog(@"%@", objRect);
不正なメモリ アクセスが発生し ( EXC_BAD_ACCESS
)、プログラムが停止します。何故ですか?他の方法でオブジェクトを印刷できますか?
iOS ではobjRect
、CGRect
オブジェクトです。コードは正常に実行されます
if (objRect.origin.x > 0) {
// do something
}
しかし、その下の行
NSLog(@"%@", objRect);
不正なメモリ アクセスが発生し ( EXC_BAD_ACCESS
)、プログラムが停止します。何故ですか?他の方法でオブジェクトを印刷できますか?
CGRect は Objective-C オブジェクトではないため、[objRect の説明] (%@ の意味) に応答できません。それは構造です:
struct CGRect {
CGPoint origin;
CGSize size;
};
typedef struct CGRect CGRect;
CGRect をログに記録したい場合は、NSStringFromCGRectを使用できます。