我正在为 Xcode 代码创建一个代码生成器,它是界面标记
我注意到来自 UI 控件的“ID”xml 属性有一些乱码,我想知道生成此信息的逻辑是什么。
会不会只是一种苹果的方法来使创建自生成代码变得更加困难?我能否使我生成的应用程序与 my-own-whatever-IDvalue 设置一起使用?
无论如何,我正在以任何价值开发它,到目前为止它运行良好,但不确定它何时变得更复杂
我正在为 Xcode 代码创建一个代码生成器,它是界面标记
我注意到来自 UI 控件的“ID”xml 属性有一些乱码,我想知道生成此信息的逻辑是什么。
会不会只是一种苹果的方法来使创建自生成代码变得更加困难?我能否使我生成的应用程序与 my-own-whatever-IDvalue 设置一起使用?
无论如何,我正在以任何价值开发它,到目前为止它运行良好,但不确定它何时变得更复杂
edwin,我的只是一个考试,过去曾尝试调整 .storyboard/.nib 代码,并且必须匹配这些 id,我认为唯一关键的是:
id 可以包含“0-9”“AZ”“az”和破折号('-')
它们必须是唯一的,并且不能与同一 xml 中的其他 id 冲突
它们必须在声明和标识符中匹配
故事板场景和控制器的 id 似乎是数字,从文件顶部开始并升序
视图的 ID 似乎由 xxx-xx-xxx 形式的三元组组成
如果你坚持这一点,特别是如果你不希望调整生成的文件,你应该是安全的。即使您确实希望调整文件,Xcode 也应该尊重您生成的那些 id,只要它们是唯一的。我只是不知道如果您随后添加一个视图,该视图创建的 id 与您生成的 id 冲突。
有人对如何创建这些身份有明确的答案吗?“orR-Rm-srM”似乎是一个 base-62 数字,每个数字都是 a-zA-Z0-9。我听说过身份是一个随机生成的值的评论,但我很难相信这一点,因为它在编译期间需要不必要的查找表。
汤姆