iOS小知识点记录

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;
原文地址:https://www.cnblogs.com/benbenzhu/p/3595893.html