分享一个好用的 Xcode 断点技巧

这里每天分享一个 iOS 的新知识,快来关注我吧

前言

前面介绍过一些关于利用断点的内容,感兴趣可以去看下:

你知道 Xcode 支持设置"列断点"吗?

如何避免过早加载控制器 view

如何检测控制器循环引用

最近遇到一个需求,页面上有个 UITextField,每次进到这个页面需要输入相同的内容,每次重复比较麻烦,直接写死又没办法提交到 Git,突然想到了用断点来解决,今天就来讲讲这个技巧。

还有个类似的情况是登录页面,每次输入用户名密码都很麻烦,今天的 Demo 以这个场景为例来介绍。

页面代码

首先模拟一个登录页面,我简单写了一个:

less 复制代码
class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .white
        
        let userName = createTextField(frame: CGRect(x: 0, y: 100, width: 200, height: 35), placeholder: "请输入用户名")
        view.addSubview(userName)
        
        let password = createTextField(frame: CGRect(x: 0, y: 155, width: 200, height: 35), placeholder: "请输入密码")
        view.addSubview(password)
        
        createLoginButton()
    }
}

看下效果:

巧用断点

然后在两个 TextField 创建完成后创建一个断点:

然后双击这个断点,来尝试自动输入用户名和密码。

点击 Add Action 按钮,Action 类型选择 Debugger Command,下边的输入框中输入:

expr userName.text = "iOS 新知"

expr 命令可以修改变量的值,这行命令就是为 userName 设置一个字符串。

然后记得勾选下边这个 Options,这可以让断点不中断我们的代码:

此时我们重新运行项目,可以看到,用户名的输入框已经被自动填充了:

我们按照同样的方法,再点击 Add Action 创建一个命令,把密码也填充上去:

再次运行项目,可以看到,用户名和密码都被自动填充上去了。

expr 命令不仅可以设置变量的值,还可以直接调用方法,我们再创建一个 Action,输入 expr self.login() 来直接调用登录方法:

再次运行代码,就可以直接填充用户名 + 填充密码 + 自动调用登录方法了,非常方便。

Xcode 断点是一个很棒的工具,有非常多强大的功能,以后会分享更多,希望今天分享这个技巧能够帮助到你。

这里每天分享一个 iOS 的新知识,快来关注我吧

本文同步自微信公众号 "iOS新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
2501_915106325 小时前
如何查看手机使用记录:Android和iOS设备全面指南
android·ios·智能手机·小程序·uni-app·iphone·webview
0xAaron11 小时前
确定crash文件和dSYM是否对应
ios·uuid·crash·dsym
0xAaron14 小时前
符号表和 dSYM UUID 确认
ios·cocoa·uuid·符号表·dsym
0xAaron14 小时前
如何使用dSYM文件来符号化崩溃信息
ios·swift·调试·崩溃·符号化·dsym
Swift社区15 小时前
在 Swift 中使用 Image Playground 生成 AI 图像:完整实战指南
开发语言·人工智能·swift
2501_9159184116 小时前
Flutter 加固方案全解析,从 Dart 层到 IPA 成品的多工具协同防护体系
flutter·macos·ios·小程序·uni-app·cocoa·iphone
vivo互联网技术16 小时前
从不足到精进:H5即开并行加载方案的演进之路
前端·h5·webview·客户端·大前端
wsxlgg16 小时前
IOS 打包上传提示you do not have required contracts to perform an operation
ios
每周报刊16 小时前
初代 iPhone SE 谢幕:被标为 “过时”,小屏旗舰时代彻底落幕
ios·iphone
RollingPin16 小时前
iOS 动态库与静态库的区别
ios·framework·动态库·静态库·符号表·三方库·dyld