视频: quantumult/Quantumult X /Shadowrocket ios平台科学上网三巨头小张哥提供永久免费下载安装使用,小保姆级教程,指导大家添加各种代理规则,添加翻墙代理教程 2024
方法任何熟悉其他语言(比如Java或C ++)的人对于iOS应用程序的声明都可能看起来很奇怪。请记住,该类的所有 public 方法在接口文件的方法声明部分中声明,使用以下格式:
:
初始值 - 表示该方法是一个实例方法。 A +表示该方法是一个类方法。参数列表中的每个参数定义如下所示:
<!再次查看StackOfInteger的接口规范中的方法:@interface StackOfInteger:NSObject {
请注意,对于第一个参数 - 或者如果只有一个参数 - 标签是
而不是提供。这是一个StackOfInteger中的方法的示例(带有两个参数): <! - (void)push2:(int)intValue1另一个:(int)intValue2;请记住,这种疯狂背后有一种方法(没有双关语意)。标签使方法调用更具可读性。例如,[anArray insertObject:anObject atIndex:5]比[myArray insertObject:anObject:5]更具可读性,其中第二个参数的含义不容易清楚。因此,在后缀程序
<! --1 - > push2:5 another:6; 比push2:5:6更容易理解;尽管两者意味着完全相同的东西。
只有公共方法需要在接口文件中声明。你的程序也可以包含私有方法和C函数。这些不必在接口文件中声明。请注意,CreateWithExpression方法是一个类方法,您可以使用它来代替initWithExpression来创建已经使用后缀表达式预先初始化的PostfixCalculator实例。<!请注意,类方法与您可能在文件中声明的静态函数不同。类方法可以被子类继承和覆盖。静态方法不能。
有趣的是,在Objective-C中不存在类级别的实例变量。但是,它们可以被模拟。有关如何执行此操作的示例,请在类级别检查实例变量。不能有两个名称相同,但数字不同的方法,甚至不同的参数顺序。换句话说,方法重载是不可能的,这不像大多数常见的OO语言,如C ++和Java。