【发布时间】:2014-04-14 10:21:02
【问题描述】:
如何将内容打印到Xcode 的控制台,是否可以从应用程序本身查看Xcode 控制台?
谢谢!
【问题讨论】:
标签: objective-c xcode
如何将内容打印到Xcode 的控制台,是否可以从应用程序本身查看Xcode 控制台?
谢谢!
【问题讨论】:
标签: objective-c xcode
如何打印:
NSLog(@"Something To Print");
或者
NSString * someString = @"Something To Print";
NSLog(@"%@", someString);
对于其他类型的变量,使用:
NSLog(@"%@", someObject);
NSLog(@"%i", someInt);
NSLog(@"%f", someFloat);
/// etc...
你能在手机上显示吗?
默认情况下不是,但您可以设置一个显示来显示。
print("Print this string")
print("Print this \(variable)")
print("Print this ", variable)
print(variable)
【讨论】:
@Logan 完美地表达了这一点。可能值得指出的一点是您可以使用
printf(whatever you want to print);
例如,如果您正在打印一个字符串:
printf("hello");
【讨论】:
printf("%s", urVariableName);
NSString-type,那么我从printf() 得到的只是一个指向字符串的乱码指针。然而,根据我看到的用法,NSString 似乎仍然比 Objective-R 中的 char 数组更受欢迎。
三种方法:
在 C 语言中(命令行工具)也适用于 Objective C:
printf("Hello World");
在目标 C 中:
NSLog(@"Hello, World!");
在带有变量的 Objective C 中:
NSString * myString = @"Hello World";
NSLog(@"%@", myString);
在带有变量的代码中,使用类NSString创建的变量被输出为NSLog。 %@ 将文本表示为变量。
【讨论】:
@Logan 说得很完美。但我想在这里添加一个替代方案,
如果您想查看只是您的应用程序的日志,那么您可以 一个自定义方法,它在
documents中保持将日志保存到文件 目录 然后您就可以从您的应用程序中查看该日志文件。
在应用发布且用户下载后,应用的开发者有一个很好的优势。因为您的应用将能够向开发人员发送日志和崩溃报告(当然需要设备用户的权限!!!),这将是改进您的应用的方式。
如果有其他方法可以做同样的事情,请告诉我(致其他 SO 用户)。 (比如默认的苹果功能什么的)
让我知道它是否有帮助或者你想要更多的想法。
【讨论】:
您也可以使用断点。假设您想要的值定义在断点的范围内,您有 3 个选项:
在控制台打印它:
po some_paramter
在objective-c 中记住不能使用self 的属性。
po _someProperty
po self.someProperty // would not work
po 代表打印对象。
Or 可以只使用 Xcode 'Variable Views' 。看图片
我强烈推荐看看 Apple 的 Debugging with Xcode
Or 只是在您的代码中悬停。如下图。
【讨论】:
在某些环境中,NSLog() 将无响应。但是还有其他方法可以获得输出...
NSString* url = @"someurlstring";
printf("%s", [url UTF8String]);
通过使用带有适当参数的printf,我们可以这样显示。这是我发现在在线 Objective-C 沙盒环境中工作的唯一方法。
【讨论】:
在带有 Xcode 的 Swift 中,您可以使用 print() 或 NSLog()。
print() 只是输出你的文本。 仅此而已。
NSLog() 除了你的文本输出时间和其他有用的信息到调试控制台。
【讨论】: