IOS 知识点总结(十)之结构体和类

##区别:

1.结构体只能封装属性,类却不仅可以封装属性也可以封装方法,如果及需要封装属性有需要封装方法的话,就只能是类了。
2.结构体变量属于值类型,分配在栈上,而OC对象分配在堆,栈的控件相对于对来说是比较小的,但是存储在栈上的数据访问效率比堆上的数据快很多。
3.如果定义一个结构体,这个结构体有很多的属性,那么这个是有就要选择使用类来处理,在栈中占用太多的空间会降低效率;
3.结构体赋值是值类型,而对象是指针地址的赋值。

swift中区别

1.类是引用类型,结构体是值类型,值类型的传递和赋值时时复制操作,而引用类型则只会使用引用对象的一个指向,引用类型公用一块内存空间,而值类型是使用不同的内存空间;
2.类的特点

  • 类可以集成,这样子类可以使用父类的特性和方法;
  • 可以使用deinit来释放资源;
  • 类可以被多次引用

3.结构体的特点

  • 结构体较小,适用于复制操作,相比类的实例被多次引用更加安全,不会占用栈上更多的资源;
  • 结构体,是现成安全的,无需担心内存memory leak或者多线程冲突;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值