2011-12-26 5 views

答えて

4

サイズは構造です。

出力にはsize.width, size.heightまたはNSStringFromCGSize(myImage.size)を使用してください。

2

これは微妙で、初心者のための迷惑なエラーです。 (私は実際に先週に行ったばかりです)

NSLogでフォーマット文字列%@を使用する場合、その引数は何らかの種類のObjective-Cオブジェクトでなければなりません。 (NSLog(@"%@", foo)を実行すると、システムは[foo description]を呼び出して、出力する文字列を特定します。NSLogに渡す変数がObjective-Cオブジェクトでない場合、システムはObjective-Cオブジェクトではないメッセージを送信しようとします。

この場合、整数を取得することになりますので、フォーマット文字列内のを%dに置き換えて、すべて正常に動作するようにしてください。

さらに、ユージン氏が述べたように、sizeオブジェクトの一部にアクセスしたいと考えています。これは実際に代わり%d%fあるべき、およびこの回答のコメントを読んでください:だから

NSLog(@"size.height=%d", myImage.size.height); 

編集をしてみてください。

+0

NSLog(@ "size.height =%d"、myImage.size.height); %f実際には、それらはCGFloatsです。 – Eugene

+1

'CGSize'のメンバーは' CGFloat'sであり、 'NSInteger'ではありません。正しいフォーマッタは '%f'または'%g'(または実際には科学記法が好きな場合は '%e')です。また、幅や高さだけでなく、サイズ全体を取得するためには、 'NSStringFromCGSize'を使用するのが正確で簡単です。それはオブジェクト'%@ 'を返します。 –

関連する問題