zoukankan      html  css  js  c++  java
  • 进击的UI---------------------collectionView,MRC&ARC

    UINavigationController, UITabBarController 这些可以放置多个viewController,负责这些viewController 进行切换的控制器,就叫做容器控制器
    容器 UINavigationController * navigtioncontroller = [[UINavigationController alloc] initWithRootViewController:controller]; 自己创建navigationController不就行然后再UITabbarController的每一个tab对应一个navigationController, 然后一层层push                                                                                                                                                                                                                                                                shift + comd + k 清除缓存第三方
    ctrl + comd + 空格 小表情
    1.CollectionView
    2.MRC&ARC
    Objective-c中提供了两种内存管理机制MRC(MannulReference Counting)和ARC(Automatic Reference Counting),分别提供对内存的手动和自动管理,来满足不同的需求。注意的是Xcode 4.1及其以前版本没有ARC,MRC. 
    1⃣️. Objective-c语言中的MRC(MannulReference Counting)
    在MRC的内存管理模式下,与对变量的管理相关的方法有:retain,release和autorelease。retain和release方 法操作的是引用记数,当引用记数为零时,便自动释放内存。并且可以用NSAutoreleasePool对象,对加入自动释放池(autorelease 调用)的变量进行管理,当drain时回收内存。
    (1)      retain,该方法的作用是将内存数据的所有权附给另一指针变量,引用数加1,即retainCount+= 1;
    (2)      release,该方法是释放指针变量对内存数据的所有权,引用数减1,即retainCount-= 1;(3)      autorelease,该方法是将该对象内存的管理放到autoreleasepool中。
    示例代码:
    假设Number为预定义的类
    Number* num = [[Number alloc] init];
    Number* num2 = [num retain];//此时引用记数+1,现为2
    [num2 release]; //num2 释放对内存数据的所有权 引用记数-1,现为1;
    [num release];//num释放对内存数据的所有权 引用记数-1,现为0;
    [num add:1 and 2];//bug,此时内存已释放。
    2⃣️. Objective-c语言中的ARC(AutomaticReference Counting)
     
    在ARC中与内存管理有关的标识符,可以分为变量标识符和属性标识符,对于变量默认为__strong,而对于属性默认为unsafe_unretained。也存在autoreleasepool。
     
  • 相关阅读:
    利用heroku+mongoLab 部署Node 运用
    css常见解决方案
    JavaScript数组基本用法
    ES5中数组的新方法
    JavaScript闭包详解
    力扣第991题 坏了的计算器
    力扣第1189题 “气球” 的最大数量
    力扣第142题 环形链表 II
    力扣第260题 只出现一次的数字 III
    力扣第141题 环形链表
  • 原文地址:https://www.cnblogs.com/sharkHZ/p/4984054.html
Copyright © 2011-2022 走看看