一、一个好的代码架构和规范应该是:
1. view controller的life cycle;
2. Delegate methods的实现;
3.触发method实现;
4.private method的实现,一般情况下,viewcontroller里面不应该包含有private method;
二、开发模式-单例模式,一个类只有一个实例对象,自实现。有用到的地方直接全局调用,而不是在每一个用到的地方再进行一次初始化,可能会导致出现不相同的实例对象conflict:
+ (runTimeViewController *)sharedInstance{
/**
@synchronized(self) {
if (runTimeVC==nil) {
runTimeVC = [[self alloc]init];
}
}
return runTimeVC;
*/
static dispatch_once_t pred;
dispatch_once(&pred, ^{
runTimeVC = [[self alloc]init];
});
return runTimeVC;
}
Gcd和@synchronized(self)区别,都是为了保护在线程安全,防止在使用的过程中,被更改。