iOS开发-面试总结(十三)

Posted iOS0116

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发-面试总结(十三)相关的知识,希望对你有一定的参考价值。

关于不同属性策略对应的setter和getter方法

 

如果将synthesize省略,并且我们自己实现setter和getter方法时,系统就不会生成对应的setter和getter方法,还有实例变量

1,当把语义特性声明为assign时,setter和getter时方法内部实现

1 - (void)setName:(NSString *)name{
2 _name = name;
3 }
4 - (NSString *)name{
5 return _name;
6 }


2,当把语义特性声明为retain时,setter和getter方法内部实现

复制代码
1 - (void)setName:(NSString *)name{
2 if (_name != name) {
3 [ _name release];
4 _name = [name retain];
5 }
6 }
7 - (NSString *)name{
8 return [[ _name retain] autorelease];
9 }
复制代码


3,当把语义特性声明为copy时,setter和getter方法内部实现

复制代码
1 - (void)setName:(NSString *)name{
2 if (_name != name) {
3 [ _name release];
4 _name = [name copy];
5 }
6 }
7 - (NSString *)name{
8 return [[ _name retain] autorelease];
9 }
复制代码

以上是关于iOS开发-面试总结(十三)的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop入门(十三)——集群常用知识(面试题)与技巧总结

iOS开发-面试总结(十七)

iOS开发-面试总结(十五)

Java面试总结(十三)

iOS面试--虎牙最新iOS开发面试题

面经总结开发面试题补充整理三