iphone - 从 Storyboard 文件/NIB 文件上的控件生成的 ID 值背后的逻辑

标签 iphone ios xcode code-generation

我正在为 Xcode 代码及其接口(interface)标记创建一个代码生成器

我注意到 UI 控件的“ID”xml 属性有一些困惑的值,我想知道生成此信息的逻辑是什么。

这会不会只是一种让创建自生成代码变得更加困难的苹果方法? 我能否使我生成的应用程序与我自己的任何 ID 值设置一起工作?

无论如何我都在开发它,并且它目前运行良好,但不确定什么时候会变得更复杂

最佳答案

edwin,我的只是一个考试,过去曾尝试调整 .storyboard/.nib 代码,并且不得不匹配这些 ID,我认为唯一重要的是:

  1. id 可以包含“0-9”“A-Z”“a-z”和破折号('-')

  2. 它们必须是唯一的,不能与同一 xml 中的其他 id 冲突

  3. 它们必须在声明和标识符上匹配

  4. Storyboard场景和 Controller 的 ID 似乎是数字,从文件顶部开始并升序

  5. View 的 ID 似乎由 xxx-xx-xxx 形式的三元组组成

如果您坚持这样做,尤其是如果您不希望随后调整生成的文件,那么您应该是安全的。即使您确实希望调整这些文件,只要它们是唯一的,Xcode 也应该尊重您生成的那些 ID。我只是不知道如果您随后添加一个创建的 ID 与您生成的 ID 冲突的 View 会发生什么。

关于iphone - 从 Storyboard 文件/NIB 文件上的控件生成的 ID 值背后的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10644214/

相关文章:

ios - 如何保存实现 Codable 的自定义对象

objective-c - 删除所有引用后如何删除卡在 Nib 中的图像

ios - 不影响 iPad 设备的设备方向设置

iphone - Facebook apprequests 通知不会显示在 Facebook iPhone 应用程序中

iphone - UITableViewCell 中的 UILabel 无需创建单独的类即可创建自定义单元格

iphone - nil 和 NULL 的区别

objective-c - 当我将字符串粘贴到Xcode中时,总是会出现错误,必须重新输入

ios - SIGABRT Xcode???需要帮助

IOS-didFailWithError : Error Domain=kCLErrorDomain Code=0.(kCLErrorDomain 错误 0。)”

ios - XCode 8 在加载索引时在启动时保持卡住