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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大爱五花肉 中级黑马   /  2016-2-17 20:01  /  811 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

写实例变量_name的set/get方法好一些,还是setter/getter方法更加规范一些

3 个回复

倒序浏览
{:2_34:}{:2_34:}不明白什么意思
回复 使用道具 举报
本帖最后由 一个疯子 于 2016-2-18 09:24 编辑

一般在OC中,需不需要重写一个属性的set和get方法,需要看情况而定。
第一种情况:属性值需要进行合法性判断。这种情况下需要重写setter方法,下面的例子是进行密码字符长度的判断
@property(nonatomic,copy)NSString* pwd;
- (void)setPwd:(NSString *)pwd{
    _pwd = pwd;
    if (_pwd.length < 8) {
        NSLog(@"密码位数小于8位");
    }
}

第二种情况是利用属性的setter方法进行视图传值,跟新数据。还是上面这个例子,可以把密码值赋值到文本框
- (void)setPwd:(NSString *)pwd{
    _pwd = pwd;
    if (_pwd.length < 8) {
        NSLog(@"密码位数小于8位");
    }else{
self.textField.text = _pwd;
}
回复 使用道具 举报 1 0
好赞啊,这是在哪总结的,分享下呗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马