零碎知识点记录表

  1. 苹果帮助文档更新目录:
    https://developer.apple.com/library/downloads/docset-index.dvtdownloadableindex (在里面可以找到对应的文档链接)

  2. 修改模板文件可以使新建类文件的时候,自动打上自己想要的注释:
    模板文件目录:/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplate

  3. 关于 NSTimer定时器注意点:

    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self  selector:@selector(run) userInfo:nil repeats:YES];                                                                              
    //当定时器要做的是更新UI时,一定要把定时器加到当前的运行循环,不然定时器不会执行
    //更新UI必须在主线程,但是当他们同时执行的时候,定时器就会停住
    [[NSRunLoop currentRunLoop]addTimer:timer forMode:NSRunLoopCommonModes];
    
  4. UIView的边界:

clipsToBounds属性决定了子视图的显示范围。(默认值为NO。)

  • YES时,剪裁超出父视图范围的子视图部分;
  • 当取值为NO时,不剪裁子视图,超出部分继续显示。

layer.masksToBounds属性决定了子视图图层的显示范围。(iOS6默认值为YES,iOS7默认值为NO。)

  • YES时,剪裁超出父视图图层范围的子视图图层部分;
  • 当取值为NO时,不剪裁子视图图层,超出部分继续显示。
  1. 绘图:

常用方法

   /** 可以单独的影响某一块,而不影响其他的 */
   CGContextSaveGState();//保存当前上下文
   CGContextRestoreGState();//恢复保存的上下文
   /** 结合上面的函数使用,效果不一般 */
   CGContextRotateCTM(,);//旋转矩阵操作
   CGContextScaleCTM(, , );//缩放矩阵操作
   CGContextTranslateCTM(, , );//平移矩阵操作
   CGContextClip();//裁剪一个区域作为以后的绘图区域
   UIGraphicsBeginImageContextWithOptions(尺寸, 周围是否不透明, 缩放(0.0:表示默认尺寸));//保存图片
   UIGraphicsBeginPDFContextToData(, , )//保存PDF
   UIGraphicsBeginPDFContextToFile(, , )//保存PDF
  >截屏

   UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 0.0);
   [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
   UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
  1. result = object ? : [self createObject]; <==>result = object ? object : [self createObject];

  2. 根据形变求旋转角度 atan2(view.transform.b,view.transform.a)

  3. 裁剪图片(裁剪的时候是像素点)

    CGImageCreateWithImageInRect(CGImageRef image, CGRect rect)
    transform.m34 表示人眼离屏幕的距离(不是正的修改距离,而是为了营造3D效果,而设置的一个参数,例如 - 1 / 100 : 表示设置人眼离屏幕的距离为 100)

  4. 关于内存释放:

下一次循环的时候清除无用的内存(没有被强引用的对象)

  1. 在main之前,就会加载类(+load)

  2. appearance

//获取ContainerClass及其子类的对象的象征
+(instancetype)appearanceWhenContainedIn:(Class )ContainerClass,nil;

  1. block格式 敲inline会提示block格式

  2. 在Xcode6导入pch文件

pch prefix (路径定位到工程文件夹,注意不用加“/”)

  1. oc强制去除警告: #pragma clang diagnostic ignored "错误类型”

  2. isMemberOfClass:是否是某个类的实例(必须是这个类的实例,子类) isKindOfClass

  3. [button sizeToFit] :按钮会根据内容适配尺寸

  4. block 循环引用

block 会强引用block(代码块)里面的强指针,所以可能会导致会导致循环引用

包括用下划线访问成员变量也会造成循环引用(下划线,其实也是拿到对象的指针,再访问到他的成员变量)

要用 __weak 创建一个弱指针,在block中使用,从而避免循环引用

  1. 在tableview的cell上添加textfield,系统会自己做好键盘处理

  2. + (void)initialize方法会在类或者子类第一次使用的时候调用,表示类或者它的子类的类对象初始化完毕

你可能感兴趣的:(零碎知识点记录表)