如何在Xcode中将内容打印到控制台?

47 xcode objective-c

你如何在控制台上打印东西Xcode,是否可以Xcode从应用程序本身查看控制台?

谢谢!

Log*_*gan 57

如何打印:

NSLog(@"Something To Print");
Run Code Online (Sandbox Code Playgroud)

要么

NSString * someString = @"Something To Print";
NSLog(@"%@", someString);
Run Code Online (Sandbox Code Playgroud)

对于其他类型的变量,请使用:

NSLog(@"%@", someObject);
NSLog(@"%i", someInt);
NSLog(@"%f", someFloat);
/// etc...
Run Code Online (Sandbox Code Playgroud)

你能用手机显示吗?

不是默认情况下,但您可以设置一个显示屏来显示.

更新Swift

print("Print this string")
print("Print this \(variable)")
print("Print this ", variable)
print(variable)
Run Code Online (Sandbox Code Playgroud)


stk*_*trc 43

@Logan完美地表达了这一点.可能值得指出的是你可以使用的东西

printf(whatever you want to print);
Run Code Online (Sandbox Code Playgroud)

例如,如果您正在打印字符串:

printf("hello");
Run Code Online (Sandbox Code Playgroud)

  • 这更安全:`printf("%s", urVariableName);` (2认同)

小智 8

3种方法:

在C语言(命令行工具)中也与Objective C一起使用:

printf("Hello World");
Run Code Online (Sandbox Code Playgroud)

在目标C中:

NSLog(@"Hello, World!");
Run Code Online (Sandbox Code Playgroud)

在Objective C中有变量:

NSString * myString = @"Hello World";
NSLog(@"%@", myString);
Run Code Online (Sandbox Code Playgroud)

在带变量的代码中,用类创建的变量NSString输出为NSLog.%@将文本表示为变量.


Aks*_*eri 5

@Logan完美地说.但我想在这里添加一个替代方案,

如果您只想从您的应用程序查看日志,那么您可以创建一个自定义方法,将日志保存到documents 目录中的文件,然后您可以从您的应用程序中查看该日志文件.

在应用程序发布并且用户下载后,应用程序的开发人员有一个很好的优势.因为您的应用程序将能够向开发人员发送日志和崩溃报告(当然还有设备用户的权限!!!),这将是改善您的应用程序的方法.

让我知道(对其他SO用户),如果有另一种方式做同样的事情.(像默认的Apple功能或其他东西)

如果有帮助或者您想要更多想法,请告诉我.


Hon*_*ney 5

您还可以使用断点。假设您想要的值是在断点范围内定义的,您有 3 个选项:

在控制台中打印它:

po some_paramter
Run Code Online (Sandbox Code Playgroud)

请记住,在 Objective-C 中,您不能使用 self 的属性。

po _someProperty
po self.someProperty // would not work
Run Code Online (Sandbox Code Playgroud)

po 代表打印对象。


或者可以只使用 Xcode 'Variable Views' 。看图片 在此输入图像描述

强烈建议您查看Apple 的Xcode 调试


或者只需将鼠标悬停在您的代码中。就像下图一样。

在此输入图像描述