Visual Studio即时窗口的Xcode等效工具是什么?能否免编译调试调用测试函数?
Xcode中对应Visual Studio即时窗口的等效工具
当然有!Xcode里最接近VS即时窗口的是调试控制台(Debug Console),它依托LLDB调试器,功能和即时窗口高度相似:
- 当你的程序处于调试暂停状态(比如命中断点、手动暂停),可以直接在控制台输入表达式、调用函数,实时查看返回结果
- 你也可以用LLDB的
expr命令来显式执行代码,比如调用带参数的函数:expr calculateTotal(10, 20),控制台会立刻返回计算结果
另外,如果你习惯命令行操作,直接在Xcode的调试区域切换到LLDB命令行模式,也能完成所有即时窗口的操作。
无需编译整个应用/调试模式直接调用函数的实现方法
这个需求完全可以实现,我平时开发常用这几个方案:
Xcode Playgrounds:这是最便捷的方式!
- 新建一个Playground文件,如果你要调用项目里的自定义函数,只需要把Playground关联到你的项目target(在Playground右侧的“File Inspector”里选择对应的target)
- 之后你就可以在Playground里直接导入项目模块,调用任意带测试参数的函数,实时在右侧面板看到返回结果,全程不需要编译整个应用、不需要设置断点
- 比如:
右边会立刻显示import MyAppModule let testResult = myCustomFunction("testParam", count: 5)testResult的值
独立命令行工具Target:
- 如果你的函数是纯业务逻辑,不依赖UI组件,可以在项目中新建一个“Command Line Tool”类型的target
- 在这个target的主文件里编写函数调用代码,单独编译并运行这个target(比编译整个应用快很多),结果会直接输出在控制台
- 这种方式适合需要多次测试不同参数,或者函数依赖简单的场景
单元测试用例:
- 虽然需要编译测试target,但不需要编译整个应用。你可以写一个简单的测试用例,在其中调用目标函数并断言结果,运行单个测试用例就能看到函数返回值,还能顺便验证结果是否符合预期
内容的提问来源于stack exchange,提问作者Bradley Thomas




