iOS 对于 struct 是如何输出打印的

我们经常会输出一些坐标尺寸信息之类的, 比如view的frame, 是CGRect类型的;
用 frame.oringial.x 和 frame.size.width 来做NSLog参数好麻烦, 还好苹果对这些常用的数据提供了字符串转换的方法, 如下:

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

使用方法举例:

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

对于NSArray和NSDictionary这些容器则提供了description方法:

- ( NSString *)description;

使用方法举例:

NSMutableDictionary *dict = [[ NSMutableDictionary alloc ] init ];
NSLog ( @"log dict =%@" , [dict description ]);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容