読者です 読者をやめる 読者になる 読者になる

NSStringFrom~ and ~fromString

NSLog(@"orizin(%f:%f) size(%f:%f)", self.frame.origin.x, self.frame.origin.y, self.frame.size.width, self.frame.size.width);

これは冗長です。

NSLog(@"%@",NSStringFromCGRect(self.frame));

こちらを使いましょう。

UIKIT_EXTERN NSString *NSStringFromCGPoint(CGPoint point);
UIKIT_EXTERN NSString *NSStringFromCGSize(CGSize size);
UIKIT_EXTERN NSString *NSStringFromCGRect(CGRect rect);
UIKIT_EXTERN NSString *NSStringFromCGAffineTransform(CGAffineTransform transform);
UIKIT_EXTERN NSString *NSStringFromUIEdgeInsets(UIEdgeInsets insets);
UIKIT_EXTERN NSString *NSStringFromUIOffset(UIOffset offset);

多数用意されているので、NSLogデバッグが好きな方は是非。


逆もあります。

UIKIT_EXTERN CGPoint CGPointFromString(NSString *string);
UIKIT_EXTERN CGSize CGSizeFromString(NSString *string);
UIKIT_EXTERN CGRect CGRectFromString(NSString *string);
UIKIT_EXTERN CGAffineTransform CGAffineTransformFromString(NSString *string);
UIKIT_EXTERN UIEdgeInsets UIEdgeInsetsFromString(NSString *string);
UIKIT_EXTERN UIOffset UIOffsetFromString(NSString *string);

こちらは以下のように使用してください。

NSString *rectStr = @"{{0, 0,}, {100, 100}}";
CGRect rect = CGRectFromString(rectStr);

無理に使う物ではありませんが、plist等から読み込むときにはお世話になるかと思います。