分享一个好用的 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新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
游戏开发爱好者812 小时前
2025年iOS应用上架App Store全指南,开发者必看
android·ios·小程序·https·uni-app·iphone·webview
HH思️️无邪13 小时前
Flutter 项目 -从 0 到 1 实现 iOS WatchApp
flutter·ios
TheNextByte114 小时前
如何将 iPhone 上的联系人备份到 iCloud?
ios·iphone·icloud
牛马11114 小时前
iOS swift 自定义View
ios·cocoa·swift
2501_9151063214 小时前
HBuilderX 项目上架 iOS app上架 App Store 的关键流程
android·ios·小程序·https·uni-app·iphone·webview
2501_9151063215 小时前
iOS 文件管理,在不越狱的前提下管理 iPhone / iPad 文件
android·ios·小程序·uni-app·iphone·webview·ipad
牛马11115 小时前
ios swift处理json数据
ios·json·swift
黑码哥15 小时前
iOS开屏广告多机型屏幕适配最佳实践
macos·ios·cocoa·广告·商业·开屏广告
Swift社区15 小时前
LeetCode 473 火柴拼正方形 - Swift 题解
算法·leetcode·swift
前端不太难16 小时前
Flutter / RN / iOS,在长期维护下谁更容易“止损”?
flutter·ios·状态模式