• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
hellowbabybaby
博客园    首页    新随笔    联系   管理    订阅  订阅

iOS总结2

1/瀑布流:

(1)水平出现,计算可见的矩形框,size是collectionview的size,原点是scrollview的左边偏移量,计算屏幕的中间,通过是否交互进行判断视图是否交互:CGRectIntersectsRect(recr,rect); 返回值是布尔值。只遍历看的见的进行处理,

2.碰撞检测:

(1)返回值是布尔,两个frame是否相交,yes 是相交,no.是不相交

   CGRectIntersectsRect(<#CGRect rect1#>, <#CGRect rect2#>)

3.隐藏状态栏

(2) 调整边距,可以让表格视图让开状态栏

4. 使用XIB注意事项:

(1) 从XIB 加载后,自动加载,纯代码手写,不会被执行.

(2)

纯代码手写调用这个方法:

5.自定义cell的时候点击的选中取消选中的时候的调用的方法

6.延时操作,放在dispatch_after代码块中

  dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 *NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

         });

7.刷新之后的插入一个行数,并且滚动到底部H

8. 小技巧,预处理指令

9.内存问题

 

(1)iOS 中栈区默认是1M, MacOs中默认是8M

(2)堆区是使用系统内存和虚拟内存:

  特点 

  1.所有的应用程序共享,

  2.所有的堆中得内存分配都是由操作系统负责的. 

  3.操作系统使用"链表"(类似数组) 头指针永远不动,next->指针,进行一个一个寻找,单向链表,用链表维护所有已经分配的内存 

  4.堆中的内存释放,程序通知系统释放内存, mrc,下p release .引用计数,表明一个对象到底被多少个对象引用. 当引用计数为0的时候会被立即释放.

    5.strong.weak  光分配不释放,就会引起内存泄露,当操作系统重启的时候才会释放..垃圾回收机制. 在oc中没有垃圾回收机制,用在Mac上. oc中有,iOS 中没有,有虚拟机调度,不由程序员自身调度 C语言机制,程序员自己释放,

   6.堆中所有的空间都是匿名访问的,  在堆中的所有变量类型都是匿名访问的.能否访问对象的属性,或者调用方法,取决于指定变量的类型,所有的堆中的变量  都是使用的指针进行匿名访问, 

   7.nil 的地址就是0x0  NULL 是一个地址,oc 中nil可以调用任何的方法,都不会报错.  nil 是指针指向NULL的空对象.

(3)copy  当修改一个对象的时候,不影响另外其他的副本 目的: 建立一个副本,彼此修改,互补干扰

 copy,mutableCopy  针对foundation框架的 数据类型 

      1. 对于自定义类,copy就是可变的, 可变->可变; 可变->不可变

      2.不可变->不可变的.(浅复制 )指针复制,引用计数加1,不可变->可变,地址改变.

      3 .前复制.不可变->不可变,深复制.其他三种情况

  nsstring ,block 使用copy属性,在赋值时会默认做一次copy操作.

strong. 默认是retain 在赋值时只是引用计数加1,其他什么都不做,    copy 是不可变的类型,  

 对于可变类型的属性,不要使用copy 操作,否则赋值后,  就是变成不可变的了. 

 

10:在model类中,两个小方法:

     (1)-personinitWithDict:(NSDictionary *)dict 利用字典赋值 

     (2) 重写description 方法:  [nsstring stringWithFormat :@"<%@,%p>  {name : %@,age : %@}",self.class,self,self.name,self.age ];

   (3) 自定义对象,要实现copy功能,要实现<nscoping>协议, 实现这个方法 - 号方法 copyWithZone :Zone 区域,极少用.

       所有的copy方法,最终都会调用这个方法,copy操作是将一个对象,赋值给一个新的对象,person  实例化对象, 给属性赋值. 

 

11. 使用self.class 能够保证继承的子类同样使用copy方法  若是使用父类的person alloc. 子类的class都是person.

 

12:  关于遵守协议 : 本质上是方便程序员的代码编写.Xcode也会只能提示,并不影响程序本身运行.

posted @ 2015-12-16 14:37  hellowbabybaby  阅读(113)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3