如何让代码封装性强,耦合度低(持续更新)
来源:互联网 发布:重庆时时彩开奖软件 编辑:程序博客网 时间: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
- 如何让代码封装性强,耦合度低(持续更新)
- 代码耦合度
- Python中的函数:大量封装函数可降低代码耦合度
- 持续更新:关于写代码严谨性
- Django 代码片断收集(持续更新)
- iOS代码片段(持续更新)
- 常用JavaScript代码(持续更新)
- 深度学习代码(持续更新中)
- Django 代码片断收集(持续更新)
- Android常用工具代码块(持续更新)
- JS 自定义代码库(持续更新)
- processing 常用代码片段(持续更新)
- iOS 常用代码汇总(持续更新)
- ffmpeg代码学习计划(持续更新)
- caffe代码阅读(持续更新)
- PHP代码片段(持续更新)
- ASP.net常用代码(持续更新)
- javaScript封装的常用函数(持续更新中)
- 我是如何给实验室的服务器上网的
- android IPC通信小结
- Linux内核分析之时间片轮转调度
- FZU ACM 题目分类(转自某位大神的博客)
- 用Category给类中添加属性
- 如何让代码封装性强,耦合度低(持续更新)
- Android系统-开篇
- 如何使用公众号接口来接收消息?
- 为什么要格外努力
- 第二天完整笔记
- spring创建bean的三种方式-通过构造器,通过静态工厂方法,通过实例工厂方法
- 思考.视界
- [Android]Java基础面试题
- AngularJS入门必备