NSString* myString = [NSString string];
现在,这就是一个NSString类型的变量了,如果我们在这个对象上调用NSString
类型对象不支持的方法,编译器就会发出警告。
注意:在对象类型的右面有一个星号(*),在Objective-C中,所有的对象变量
都是指针类型。id类型已经被预定义为指针类型,所以不需要加一个星号。
嵌套调用&
在许多编程语言中,嵌套的方法或函数调用像是这样的:5
function1(function2());
function2的返回值做为输入参数传递给function1。在 Objective-C中,嵌套
调用看上去像是这样的:5
[NSString stringWithFormat:[prefs format]];
要尽量避免在一行语句中进行两层以上的嵌套,这样会使代码的可读性降低。
多输入参数的方法&
一些方法需要多个输入参数。在Objective-C中,一个方法的名字可以被拆分成几
段,在头文件中,多输入参数的方法声明看上去像是这样的:
-(BOOL)writeToFile:(NSString *)path
atomically:(BOOL)useAuxiliaryFile;
你可以这样调用这个方法:
BOOL result = [myData writeToFile:@”/tmp/log.txt”
atomically:NO];
这些不是命名参数。在运行时环境中,该方法的名字实际上是
writeToFile:atomically:
访问器+
在Objective‐C中,所有的实例变量默认都是私有的,所以,在大多数情况下,你应
该使用访问器来获取或设置这些变量的值。现在有两种语法。下面的是传统的1.x语法:5
[photo setCation:@”Day at the Beach”];
output = [photo caption];
第2行代码不是直接读取实例变量。实际上它是在调用名为caption的方法。在
Objective-C中,大多数情况你不用在获取器(getter)前面添加一个”get”前缀
在任何情况下,在方括号中代码都意味着你是在给一个对象或者一个类型发送一个
消息(即一个方法调用)。
点操作符&
评论0
最新资源