本帖最后由 一个疯子 于 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;
}
|