常见面试题二
作者:
挨踢的苹果 | 来源:发表于
2017-06-03 12:58 被阅读2次
- Objective-C中的@property
这里有一篇文章写的挺好:关于property
- 它是声明属性的关键字,系统会为该属性自动创建setter和getter方法(也就是accessor存取器)
- 早期xcode版本中,需要@property和@synthesize配合使用,前者声明属性,后者指定合成的方法指向的变量名。可参见property和synthesize和@property相关
- @synthesize的作用,可参见如下代码
@interface ViewController ()
@property (nonatomic, copy) NSString *name;
@end
@implementation ViewController {
NSString *baseView;
}
@synthesize name = $name;
-(void)setName:(NSString *)newName {
$name = newName;
// name = newName; // 这样是不对的,因为synthesize告诉编译器成员变量叫$name,而不是name;
}
-(void)viewDidLoad {
[super viewDidLoad];
$name = @"";
}
@end
- Block
很多关于block的文章都声明block是函数,这一点是错的。首先,Block是对象,这在apple的文档中有介绍:Working with Blocks
Blocks Programming Topics
- 关于面向对象
这里有一篇文章写得挺好:OC中面向对象的编程思想
本文标题:常见面试题二
本文链接:https://www.haomeiwen.com/subject/xcwpfxtx.html
网友评论