Iphone 如何打印或记录CGSize对象的值?
我试图记录(打印)CGSize对象的值,如下所示:Iphone 如何打印或记录CGSize对象的值?,iphone,objective-c,ios4,Iphone,Objective C,Ios4,我试图记录(打印)CGSize对象的值,如下所示: CGSize sizeOfTab = CGSizeMake(self.frame.size.width/tabCount, 49); NSLog(@"size of tab is %@",sizeOfTab); 本规范是否有任何错误;我的应用程序在控制NSLog语句时崩溃 谢谢 Prasad您可以调用以下命令来打印所需的值: NSLog(@"width = %f, height = %f", mySize.width, mySize.hei
CGSize sizeOfTab = CGSizeMake(self.frame.size.width/tabCount, 49);
NSLog(@"size of tab is %@",sizeOfTab);
本规范是否有任何错误;我的应用程序在控制NSLog语句时崩溃
谢谢
Prasad您可以调用以下命令来打印所需的值:
NSLog(@"width = %f, height = %f", mySize.width, mySize.height);
试试这个
CGSize sizeOfTab = CGSizeMake(self.frame.size.width/tabCount, 49);
NSLog(@"size of tab is %@",NSStringFromCGSize(sizeOfTab));
发生崩溃的原因是
sizeOfTab
不是NSString
格式。CGSize
具有CGFloat
类型的members宽度和高度。您可以使用以下命令打印它们
NSLog(@"Width = %f, height = %f",sizeOfTab.width, sizeofTab.height);
%@表示您正在尝试插入字符串。CGSize不是字符串,无法自动转换为字符串。这就是你的应用程序崩溃的原因。相反,您需要单独记录各个属性,如
NSLog(@"width is %f, height is %f.", sizeOfTab.width, sizeOfTab.height);
%之所以使用f,是因为宽度和高度属性的类型为float
对于其他格式转换,请参见文档:As(我在键入并格式化此答案后注意到),还有UIKit函数,用于漂亮打印,其逆函数用于从NSString
对象创建CGSize
结构
苹果将CGSizeFromString(
string
)的string
参数记录如下:
一种字符串,其内容的形式为“{w,h}”,其中w是
宽度和h是高度。w和h值可以是整数或整数
浮动值。有效字符串的一个示例是@“{3.0,2.5}”。弦
未本地化,因此项目始终用逗号分隔
例子
输出
Pretty printed size:{320568}
其他有用的功能()
- CGRectGetHeight()
- CGRectGetWidth()
这里self.view是UIView类的视图。您可以使用此日志打印任何帧
NSLog(@"self.view.Frame=%@", NSStringFromCGRect(self.view.frame));
酷这是我今天学到的新东西+1,但我不会删除我的答案:-P@Praveen:谢谢。。很高兴今天我能帮你学点新东西。。。只是报恩而已。通过SO,我一直并仍然是此类信息的接收端。@7KV7发生崩溃的原因是sizeOfTab
不是对象(任何对象都可以工作,而不仅仅是NSString
)CGSize
是一个结构。谢谢,它工作得很好,但是它显示{nan,49},什么是nan?@Prasad:nan我想它不代表数字。什么是tabCount?尝试记录self.frame.size.width/tabCount
欢迎使用SO+谢谢你的详细回答。我环顾四周,看到有那么多人在问问题之前从不看文档,真是令人惊讶。我将链接放在那里,这样我们就不会再遇到另一个问题,即如何打印int.NSStringFromCGSize()和NSStringFromCGRect()
NSLog(@"self.view.Frame=%@", NSStringFromCGRect(self.view.frame));