一、一個好的代碼架構和規範應該是:
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)區別,都是爲了保護在線程安全,防止在使用的過程中,被更改。