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