似乎iOS中的大量自定义需要通过使用类别或子类来覆盖UIKit中元素的默认行为。
如何在没有文档的情况下查看UIButton和UIWebView等类的内部工作原理?对于.NET,有反射器。 Cocoa有什么类似的东西吗?
答案 0 :(得分:1)
有很好的文档。例如,UIView programming guide,UIButton和UIWebKit。搜索苹果编程指南和*类参考。我建议阅读所有编程指南,使用类参考文档,最重要的是,使用控件编写示例代码,以准确了解它们的行为。
.net,在运行时编译为IL并JITted为native。因此,像反射器或ILSpy这样的东西不仅能够在运行时反映元数据而且能够对代码进行反向工程,这相当容易。
Objective-c和C代码被编译成本机代码,因此您不会将其反向工程化为可读代码。我唯一看到的是otx:http://davegoodell.blogspot.com/2009/05/otx-objective-c-disassembly.html
答案 1 :(得分:1)
除了bryanmac所说的内容之外,您还可以通过发送任何UIView
实例recursiveDescription
消息来递归转储视图层次结构。有关详细信息,请参阅Technical Note TN2239: iOS Debugging Magic。
编辑但请注意,修改大多数Apple提供的UIView
子类的视图层次结构是被禁止的,而iOS 5已经引入了其他方法来自定义它们的外观和行为