1、创建视图的两种方法:用代码创建视图,创建XIB文件。如何决定使用哪种方法?参考法则:如果视图没有子视图,就用代码创建;如果有子视图,就通过XIB文件创建。
2、创建视图的时候,视图控制器会调用loadView方法。
3、UIViewController使用XIB文件创建视图的工作流程:创建UIViewController子类的实例时,通过制定初始化方法(initWithNibName:bundle:)传入XIB文件的文件名。当视图控制器实例需要使用实例变量view的时候,会查看应用程序包内是否存在相应名称的XIB文件(如果传入的名称是nil,那么UIViewController对象会查找和这个UIViewController子类的类名匹配的XIB文件)。接着,视图控制器实例会载入找到的XIB文件。
loadView方法负责完成上述XIB载入过程。UIViewController的默认loadView方法会查找并载入XIB文件,所以在编写通过XIB文件载入视图的UIViewController子类时,不要覆盖loadView。而在编写通过代码创建视图的UIViewController子类时,就必须覆盖loadView,避免载入XIB文件。
4、
NSPredicate * predicate; NSString* predicateString = [NSString stringWithFormat:@"%@ ==[c] '%@'",kCdUserEntitySns,snsName]; predicate = [NSPredicate predicateWithFormat:predicateString];
@"%@ ==[c] '%@' "中的[c]表示忽略它后面的字符串的大小写
5、设置UINavigationController的title颜色
-(void)setNavigationItemTitleColor:(UIColor*)color { self.navigationController.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:color forKey:UITextAttributeTextColor]; }
6、给应用程序图标设置右上角的数字,如下图所示:
[UIApplication sharedApplication].applicationIconBadgeNumber = 8;
设置tabbar右上角的的显示信息也是一样,不过需要赋值为字符串:
self.tabBarItem.badgeValue = @"New"; self.tabBarItem.badgeValue = @"1";
7、利用NSSetIndex从数组中取出连续index的值
static NSInteger loc = 0; static NSInteger len = 17; NSRange range = NSMakeRange(loc, len); _datasource = [randomNumbers objectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:range]];
8、判断是不是arc环境
#if __has_feature(objc_arc) NSLog(@"arc"); #else NSLog(@"no arc"); #endif
9、自定的代码片段的存储位置:~/Library/Developer/Xcode/UserData/CodeSnippets
10、随机数arc4random_uniform()
arc4random_uniform(100)——产生0到99得随机数
11、UITableView自动计算高度(iOS8以后)
设置好约束,通过以下两句代码(self-sizing技术)即可实现cell高度自动计算
//self-sizing(iOS8之后) self.tableView.rowHeight = UITableViewAutomaticDimension; self.tableView.estimatedRowHeight = 44;