如何让代码封装性强,耦合度低(持续更新)

来源:互联网 发布:重庆时时彩开奖软件 编辑:程序博客网 时间:2024/04/30 22:49

1.传值问题,当A跳转到B界面,同时需要将值传给B ,常规的做法是在B头文件中暴露需要传值的变量

@interface B : UIViewController
@property (strong) NSString* name;
@end

然而其实这样并不好,任何持有B实例的地方都能修改name 的值

优化处理措施:可以将name 变量设置为初始化必须变量

// .h
@interface B : UIViewController
- (instancetype) init UNAVAILABLE;
-   (instancetype)initWithName:(NSString*)name;
@end
 
//.m
@interface B : UIViewController ()
{
     NSString* _name;
}
@end
@implatation B: UIViewController

-   (instancetype)initWithName:(NSString*)name
{
     self = [super init];
     if(!self) return self;
     _name = name;
     return self;
}
@end

在需要修改变量的地方使用  -instancetype)initWithName:(NSString*)name

在不需要修改的地方使用   -(instancetype) init;



0 1
原创粉丝点击