ios developer tiny share-20160818

来源:互联网 发布:mysql数据库的安装步骤 编辑:程序博客网 时间:2024/06/09 22:30

今天讲self关键字,相当于java里的this。

Objects Can Send Messages to Themselves
Whenever you’re writing a method implementation, you have access to an important hidden value, self. Conceptually, self is a way to refer to “the object that’s received this message.” It’s a pointer, just like the greeting value above, and can be used to call a method on the current receiving object.

You might decide to refactor the XYZPerson implementation by modifying the sayHello method to use the saySomething: method shown above, thereby moving the NSLog() call to a separate method. This would mean you could add further methods, like sayGoodbye, that would each call through to the saySomething: method to handle the actual greeting process. If you later wanted to display each greeting in a text field in the user interface, you’d only need to modify the saySomething: method rather than having to go through and adjust each greeting method individually.

The new implementation using self to call a message on the current object would look like this:

@implementation XYZPerson- (void)sayHello {    [self saySomething:@"Hello, world!"];}- (void)saySomething:(NSString *)greeting {    NSLog(@"%@", greeting);}@end

If you sent an XYZPerson object the sayHello message for this updated implementation, the effective program flow would be as shown in Figure 2-2.

Figure 2-2  Program flow when messaging self


0 0
原创粉丝点击