实现的接口是否与函数定义的函数声明(在头文件中)相似? 如果我没有在界面中列出已经实现的所有方法怎么办?那么实例变量呢?
答案 0 :(得分:2)
是的接口和实现可以被认为类似于标题和定义。
如果您没有列出某些已实现的方法,则无法从其他类中使用它们。此外,如果它们未在@interface
部分中定义,如果您尝试使用在调用之后实现的函数,编译器将会抱怨
@implementation
- (void) functionA
{
[self functionB]; // error, because 'so far' functionB has not been defined
}
- (void) functionB
{
}
编辑:请参阅Martin的评论如下。结束编辑
如果您没有定义实例变量,并且使用它们,则会出现错误。您使用的任何变量必须在本地或在类中定义。
答案 1 :(得分:1)
您的问题的答案: 实现的接口是否与函数定义的函数声明(在头文件中)相似?
YES
如果我没有在界面中列出已经实现的所有方法怎么办?那么实例变量呢?
这些方法将被视为可在该特定类中访问的私有方法和变量。
在接口中声明的变量(如1.)在实例化MyClass对象的其他类中可见。在2.中声明的变量只能在MyClass中可见。您应该阅读以下内容:http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/
http://iosmadesimple.blogspot.in/2012/11/interface-and-implementation.html
我想所有这些都会帮助你更深入地理解这些事情。