在C中,如果我们包含#stdio.h,我们会得到一些像printf,scanf这样的函数。对Objective C来说,我们应该做什么来包含NSLog,NSArray,以及这些NSLog,NSArray的定义存储在哪里?请澄清我的困惑。在Objective C中预定义的类存储在哪里?
0
A
回答
4
添加到什么臂架写道:使用这些功能,一个源代码的顶部放线
#import <Foundation/Foundation.h>
。这对应于在标准C. 在OS X #include <stdio.h>
,
#import <FirstPart/SecondPart.h>
在FirstPart.framework
在框架搜索路径某处读取头文件(通常,/System/Library/Frameworks
),然后将SecondPart.h
中查找内部FirstPart.framework/Headers/
。所以,在#import <Foundation/Foundation.h>
的情况下,该文件位于/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h
。现在,如果你打开该文件,你会看到它只是有很多其他#import
的,如在:
#import <Foundation/NSObjCRuntime.h>
#import <Foundation/NSArray.h>
#import <Foundation/NSAutoreleasePool.h>
....
和真实定义在这些文件。一般来说,你不应该导入这些单独的头文件,而应该只导入主头文件(在这种情况下为Foundation/Foundation.h
);编译器有一个优化,这使得它更快。
3
NSLog和NSArray都在Foundation.framework中定义。在XCode cmd中单击一个符号以跳转到一个定义。您可以将环境变量DYLD_PRINT_LIBRARIES添加到应用程序,以在应用程序启动时记录库加载。
0
NSLog,NSArray和其他基本类都包含在Framework.h文件中。要在程序中导入所有这些类,只需添加
#import Framework\Framework.h
并为编译器留下余地。
相关问题
- 1. 在Objective-C中存储自定义类
- 2. Objective-C在哪里定义初始类属性
- 3. 在哪里存储UIDocument的预览?
- 4. rvalues在C++中存储在哪里?
- 5. Objective-C - 泄漏在哪里?
- 6. WordPress在哪里存储自定义帖子类型?
- 7. c中定义的const SOMAXCONN在哪里?
- 8. FuseEsb在哪里存储我的类
- 9. 哪里(哪些内存段)是存储在C++中的对象(类的)?
- 10. 在Objective-C和Swift中定义的类,哪一个被执行?
- 11. Eclipse Pydev中新Python解释器的定义在哪里存储?
- 12. WSO2CEP 3.0.0中的流定义在哪里存储?
- 13. 在哪里存储类的具体命名常量在C++
- 14. 在哪里存储在Python
- 15. C#MVC 4/5 - Id存储在哪里?
- 16. C#X509Certificate2:在哪里存储私钥?
- 17. 应该在哪里存储继承类?
- 18. 在哪里存储类关系信息?
- 19. 静态类内存分配存储在哪里C#
- 20. vim在哪里存储自定义密钥映射缓存?
- 21. 我的变量在哪里? Objective-C的
- 22. 论哪种存储器时如在Objective-C类变量
- 23. 哪里()在instance_eval的定义Ruby的存储方法
- 24. bindParam在哪里存储绑定?
- 25. Eclipse存储键盘绑定在哪里?
- 26. Python类的参数,在哪里定义
- 27. 定义的类型名称在哪里?
- 28. 我在哪里存储plasmoid的自定义数据?
- 29. 自定义控件的属性存储在哪里?
- 30. 扩展事件的会话定义存储在哪里?
所有的头文件都在那里。但是存储的实现(.m)文件将放在哪里。 – SNR 2011-06-14 08:13:25
.m文件不公开。只有编译的库随OS一起提供。编译的库被称为'Foo.framework/Foo'。 – Yuji 2011-06-14 14:27:55