240 发简信
IP属地:江西
  • 首先我们需要明确,对象的内存一般被分配到堆上,基本数据类型和oc数据类型的内存一般被分配在栈上。

    如果用assign修饰对象,当对象被释放后,指针的地址还是存在的,也就是说指针并没有被置为nil,从而造成了野指针。因为对象是分配在堆上的,堆上的内存由程序员分配释放。而因为指针没有被置为nil,如果后续的内存分配中,刚好分配到了这块内存,就会造成崩溃。

    而assign修饰基本数据类型或oc数据类型,因为基本数据类型是分配在栈上的,由系统分配和释放,所以不会造成野指针。

    IOS什么情况下使用assign,copy,retain,strong,weak

    1、assign: 基础类型(简单类型,原子类型):NSInteger,CGPoint,CGFloat,C数据类型(int,float,double,char等等) 2、co...

  • 120
    iOS 自定义控件 自定义进度条

    在日常iOS开发中,系统提供的控件常常无法满足业务功能,这个时候需要我们实现一些自定义控件。自定义控件能让我们完全控制视图的展示内容以及交互操作。本篇将介绍一些自定义控件的相...

  • LeanCloud - JS 之 基础查询数据 - 扯淡

    任务:查询出保存在云端的Task表中的数据步骤: 引入js文件 初始化AV.initialize('5PYhStBAIXz3F17elv17CUFh-gzGzoHsz', '...

  • leancloud使用指南

    初始化一个数据表 云端 新建一个leancloud项目,获取该项目的APP_ID和APP_KEY 本地 AV初始化之后,它就是一个特定APP的数据库对象了,这个对象默认有_U...

  • 120
    leancloud用户系统

    对于nodejs开发者来说,可能会发现leancloud有两个给js使用的sdk:leanengine-node-sdk和javascript-sdk前者的npm包名是lea...