A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Jack-xie 中级黑马   /  2014-10-8 11:44  /  927 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Jack-xie 于 2014-10-8 11:53 编辑

小结:
    1.set 方法内存管理相关的参数
    * retain : release旧值,retain新值(适用于OC对象类型)
    * assign : 直接赋值(默认,使用于非OC对象类型)
    * copy   : release旧值,copy新值

    2.是否要生成set 方法
    * readwrite : 同时生成setter 和 getter 的声明,实现(默认)
    * readonly  : 只会生成getter 的声明,实现

    3.多线程管理
    * nonatomic : 性能高(一般都用nonatomic这个参数)
    * atomic    : 性能低(默认)

    4.setter 和 getter 方法的名称
    * setter : 决定了set方法的名称,一定要有个冒号 :  (一般不会去修改名称)
    * getter : 决定了get方法的名称(一般用在BOOL类型)

BOOL类型更改getter 名称只是为了方便程序员的方便读取  下面附加 如何将BOOL值 转换为字符串输出
第一步:声明BOOL类型  并声明一个转换的方法
// 重新给BOOL类型的getter 方法命名
@property (getter = isRich) BOOL rich;
// 声明一个转换的方法
+(void)getStatus:(BOOL)isRich;
第二步:实现转化方法
// 实现一个类方法 将BOOL 的值传入  并将值转换成字符串输出
+(void)getStatus:(BOOL)isRich{
    switch (isRich) {
        case 0:
            NSLog(@"贫穷");
            break;
            
        default:
            NSLog(@"富有");
            break;
    }
}
第三步:主函数 创建对象  再用类名调用类方法 将对象BOOL值传入
// 创建二个对象
        Person *person1 = [[Person alloc] init];
        person1.rich = YES;
        Person *person2 = [[Person alloc] init];
        person2.rich = NO;
        // 调用类方法  将对象的BOOL值传入 在类方法的内部进行转换
        // 修改BOOL类型的getter 方法  其主要目的是为了方便程序员读取
        [Person getStatus:person1.isRich];

2 个回复

倒序浏览
不错!!!!!!!!!!!!!
回复 使用道具 举报
总结得很好,很受用!!!谢谢楼主分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马