一直在写,感觉知识碎片有用,就记下来,方便以后查阅。做到什么地方,写到什么地方。
1.关于kvo的坑
子类继承父类的控件如果已经有观察者的话,自己只需要添加观察者就行,不能移除。
子类自己的控件,需要自己添加观察者,自己移除。
2.关于根据名字获取类
NSString *vcName = @"我是一个类的名字";
Class class = NSClassFromString(vcName);
加上断言NSAssert(class != nil,@"Class must Exist");
获取类的实例对象
普通类:类名字 *对象名字 = [[类名字 alloc] init];
单例类:类名字 *对象名字 = [类名字 类方法] ;
如果是重写allocWithZone写的单例的话,和普通类一样。
3.pch文件的用法
新建pch文件,然后选择当前target,选buildSetting选项卡,搜索prefixHeader,修改后面内容为$(SRCROOT)/项目名称/pch文件名字,如果报错找不到pch文件,则检查pch文件路径是否正确。
4.iOS中mrc/arc混编
项目->targets->BuildPhases->search 搜索所使用的文件,在compiler flags中添加-fno-objc-arc或者-fobjc-arc(根据使用情况添加)。
5.禁用滑动返回手势
这里的滑动返回手势,是指iOS7之后的滑动返回功能,即手指放在屏幕左边边缘,向右边滑动能够快速返回上个页面。在某些特定的场合下,需要对滑动返回做限制。
如果要在程序中禁止所有界面的话,则在基类中设置禁止即可。
Tips:滑动返回方法是navigationController的方法,也就是走navigationController的返回方法。自定义其左上角的Item的话,就没有滑动返回了。
6.枚举的写法
7.设置tableView的tableViewFooterView背景色的方法
iOS6之后 实现如下代理方法即可
- (void)tableView:(UITableView *)tableView willDisplayFooterView:(UIView *)view forSection:(NSInteger)section {
view.tintColor = [UIColor BackGroundColor];
}