了解预定义方法的工作原理

时间:2012-08-22 20:00:34

标签: objective-c methods

我是Objective-C的新手,我试图了解预定义方法的工作原理。我浏览了XCode的文档和定义方法的* .h文件。但是,我渴望阅读* .m文件或​​任何其他文档,可以帮助我理解该方法的工作原理。

例如 - isEqualToString:(NSString *)检查两个字符串(NSString类型)是否相等。我对这种描述不满意。我很想知道该方法在内部如何工作或者它遵循的算法是什么。我在哪里可以找到这些信息?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

  • isEqualToString:(NSString *)是NSString类中定义的方法。 Apple为您提供了框架,但它们并未提供这些方法的实现。因此,您无法看到标准框架库背后的源代码。

编辑:您可以创建二进制文件并使用此应用程序检查汇编代码:http://itunes.apple.com/us/app/hopper-disassembler/id422856039?mt=12

答案 1 :(得分:1)

不幸的是,Apple的框架的很多实现(.m)文件都没有公开提供。你有几个选择:

  1. 正如Matthias在评论中建议的那样,使用调试器并检查为该方法生成的汇编程序代码。
  2. 浏览GNUstep项目的存储库,该项目与Apple类有一些等价物。