HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – Xcode 6.1’Xcode调试器内置的Swift REPL可以检查和操作正在运行的应用程序’无法运行大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
对于 Xcode 6.1,其中一个更新点是:

我创建了空项目,在viewDidLoad中设置断点,当app在断点处停止时,我在Xcode控制台中输入’repl’,然后尝试打印自己的

println(self)

但是Xcode给了我错误

但它不起作用.

问题是:我做错了什么?

解决方法

@H_772_15@ 事实证明,lldb中的Swift实际上有两个表达式求值器,repl和正则表达式命令.这两者在重要方面有所不同.

如果在导入当前正在运行的应用程序的新Swift模块文件中输入,则repl命令将评估代码作为常规swift编译器.实际上,为了更准确,每次连调用repl都会向这样的模块@L_262_7@代码,并且repl会@L_262_7@一些强大的功能,例如能够重新定义Swift编译器不允许的类.因此,它对于定义全新的类,函数等非常有用.让repl使用这个全局上下文也是必要的,因为Swift中的某些定义只能在模块级别执行,而repl允许您访问所有这功能.语言. OTOH,这意味着,根据定义,repl命令无法查看运行repl命令的上下文.

表达式命令评估代码,好像它在您当前停止的函数的上下文中运行.这很有用,因为它使您可以访问ivars和局部变量,并且实际上就像在特定上下文中的代码一样.但是执行该技巧的一个副作用是它不能像创建一个新模块那样 – 这就是repl应该模仿的.注意,你在expr中无法做的事情是相当深奥的,你可以经常在表达式命令中建立临时类等.您想使用expr来运行println(self)命令.

简而言之,如果要在调试时编写新类等,请使用repl命令,但如果要访问本地变量等,请使用exPR.

注意,为了使事情稍微混乱,repl实际上是一种风味或exPR.如果你查看lldb帮助的repl,它会告诉你命令是表达式-r – 的别名.有些人还使用另一个别名:print,表达式 – .该别名对于在将真实表达式输入命令时关闭选项解析非常方便

大佬总结

以上是大佬教程为你收集整理的ios – Xcode 6.1’Xcode调试器内置的Swift REPL可以检查和操作正在运行的应用程序’无法运行全部内容,希望文章能够帮你解决ios – Xcode 6.1’Xcode调试器内置的Swift REPL可以检查和操作正在运行的应用程序’无法运行所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。