swift-ODUIThreadGuard UI线程检测辅助工具

UI 线程安全的保安——swift-ODUIThreadGuard,挺实用的小工具,专门帮你揪出那些偷偷跑到后台线程去改 UI 的“违规操作”。

iOS 的 UI 更新得在主线程上,这你应该知道,但有时候写着写着就忘了,结果 App 崩了,界面花了。这时候,ODUIThreadGuard就能派上用场。它就像个安保人员,盯着你所有 UI 更新,一发现不是在主线程,立马报警(其实是断言)。

使用起来也挺顺,初始化一次,全局生效。你只要在需要的地方,像这样加一句:

ODUIThreadGuard.assertOnMain {
  self.label.text = "更新了"
}
一旦你在后台线程执行这段,它就会提醒你出错了,定位问题还挺快的。

内部其实就是把Thread.isMainThread这些判断封装了一下,逻辑不复杂但挺实用。尤其你在写多线程、异步加载 UI 时,帮你省不少调试时间。

它还能自定义日志输出、错误,适配各种开发环境,调试时就更灵活了。如果你有需要,可以去看看olddonkey-ODUIThreadGuard-99fc4c0的包,里头有源码和 demo 项目,跟着学一遍上手没啥难度。

如果你平时用 GCD、OperationQueue 跑异步任务,又老觉得 UI 更新有点不稳定,嗯,swift-ODUIThreadGuard你值得一试,算是 iOS 开发里一个比较“靠谱的老保安”了。

zip
swift-ODUIThreadGuard一个保安帮助你检查做UI更改是否不在主线程上.zip 预估大小:43个文件
folder
olddonkey-ODUIThreadGuard-99fc4c0 文件夹
folder
Sources 文件夹
file
ODUIThreadGuard.swift 3KB
folder
ODUIThreadGuardUITests 文件夹
file
ODUIThreadGuardUITests.swift 1KB
file
Info.plist 680B
folder
ODUIThreadGuard 文件夹
file
ODUIThreadGuard.swift 3KB
file
ViewController.swift 892B
file
Info.plist 1KB
folder
Base.lproj 文件夹
file
LaunchScreen.storyboard 2KB
file
Main.storyboard 5KB
file
AppDelegate.swift 2KB
folder
Assets.xcassets 文件夹
folder
AppIcon.appiconset 文件夹
file
Contents.json 1KB
file
DemoScreenShot.jpeg 841KB
file
LICENSE 1KB
folder
ODUIThreadGuardFrameWork 文件夹
file
Info.plist 753B
file
ODUIThreadGuardFrameWork.h 603B
file
README.md 2KB
folder
ODUIThreadGuardFrameWorkTests 文件夹
file
Info.plist 680B
file
ODUIThreadGuardFrameWorkTests.swift 1KB
folder
Carthage 文件夹
folder
Build 文件夹
folder
iOS 文件夹
folder
ODUIThreadGuard.framework.dSYM 文件夹
folder
Contents 文件夹
folder
Resources 文件夹
folder
DWARF 文件夹
file
ODUIThreadGuard 85KB
file
Info.plist 667B
file
09E5E51F-57DA-3B34-AC9B-AD935B387002.bcsymbolmap 5KB
folder
ODUIThreadGuard.framework 文件夹
file
ODUIThreadGuard 211KB
folder
Modules 文件夹
file
module.modulemap 74B
folder
ODUIThreadGuard.swiftmodule 文件夹
file
arm.swiftmodule 12KB
file
i386.swiftdoc 608B
file
i386.swiftmodule 12KB
file
arm.swiftdoc 608B
file
arm64.swiftdoc 608B
file
x86_64.swiftmodule 12KB
file
arm64.swiftmodule 12KB
file
x86_64.swiftdoc 608B
folder
Headers 文件夹
file
ODUIThreadGuard-Swift.h 5KB
file
ODUIThreadGuardFrameWork.h 603B
file
Info.plist 743B
file
4858BE93-A471-31FA-987F-996654C59783.bcsymbolmap 5KB
file
ODUIThreadGuard.podspec 6KB
folder
ODUIThreadGuardTests 文件夹
file
ODUIThreadGuardTests.swift 1004B
file
Info.plist 680B
folder
ODUIThreadGuard.xcodeproj 文件夹
folder
xcshareddata 文件夹
folder
xcschemes 文件夹
file
ODUIThreadGuardFrameWork.xcscheme 3KB
folder
project.xcworkspace 文件夹
file
contents.xcworkspacedata 160B
file
project.pbxproj 33KB
folder
xcuserdata 文件夹
folder
olddonkey.xcuserdatad 文件夹
folder
xcschemes 文件夹
file
ODUIThreadGuard.xcscheme 5KB
file
xcschememanagement.plist 973B
folder
xcdebugger 文件夹
file
Breakpoints_v2.xcbkptlist 91B
...
zip 文件大小:772.13KB