重新设置系统内部属性,新属性的性质应提前配置
否则会报 changing ......... is not allowed
// 2 更换系统自带的 tabbar KVC可替换可读属性
CustomnTabBar *customnTabbar = [[CustomnTabBar alloc] init];
customnTabbar.delegate = self; // 设置代理要放在 KVC 方法之前
[self setValue:customnTabbar forKeyPath:@"tabBar"];