美文网首页
常见面试题二

常见面试题二

作者: 挨踢的苹果 | 来源:发表于2017-06-03 12:58 被阅读2次
    1. 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
    
    1. Block
      很多关于block的文章都声明block是函数,这一点是错的。首先,Block是对象,这在apple的文档中有介绍:Working with Blocks
      Blocks Programming Topics
    1. 关于面向对象
      这里有一篇文章写得挺好:OC中面向对象的编程思想

    相关文章

      网友评论

          本文标题:常见面试题二

          本文链接:https://www.haomeiwen.com/subject/xcwpfxtx.html