美文网首页
结构体和类的区别

结构体和类的区别

作者: 程序萌 | 来源:发表于2018-06-27 11:47 被阅读0次

一、定义一个结构体

typedef struct {
    int age;
    //在结构体中定义OC对象会报错:ARC forbids Objective-C objects in structs 
    //需要添加__unsafe_unretained
   __unsafe_unretained NSString * name;
} LYMStruct;

二、使用

LYMStruct myStruct = {22,@"张三"};
// 两种赋值方法
// myStruct.age = 22;
// myStruct.name = @"张三";
 NSLog(@"%@-- %d",myStruct.name,myStruct.age);

三、结构体和OC类的区别

结构体:

  • 只能封装属性,不能封装方法;
  • 分配在栈上

OC类:

  • 可以封装属性和方法;
  • 分配在堆上

四、如何选择结构体还是OC类

  • 因为栈空间相对堆来说比较小,但是数据访问效率比堆要高,所以我们定义很多属性的话,在堆中使用OC类
  • 如果不需要定义很多的属性,并且不需要定义方法的话,我们在栈中使用结构体

相关文章

  • 结构体和类的一些简单区别

    结构体和类的区别 1.写法区别: 结构体-struct 类-cl...

  • swift基础_结构体和类

    一.结构体和类 结构体张这个样子 类张这个样子 二.结构体和类的区别 针对结构体, 即使你没有定义函数,编译器也会...

  • 第九章 类和结构体

    c++中,结构体是稍有不同的类,类能做的,结构体也可以; 而swift中,结构体与类有较大区别, 结构体与类的区别...

  • Swift笔记<十五>结构体和类的区别

    结构体和类的区别 结构体有逐一构造器,类没有 结构体是值类型,类是引用类型 结构体不是继承(意味着没有多态)

  • iOS知识点-8.类(class)和结构体(struct)有什么

    Swift Basics 类(class)和结构体(struct)有什么区别? Swift中,类是引用类型,结构体...

  • swift 结构体和类的区别

    结构体和类的本质区别(64bit下) 结构体是值类型(枚举也是值类型) 类是引用类型(指针类型) 类 结构体

  • swift面试题

    class 和 struct 的区别 class 为类, struct 为结构体, 类是引用类型, 结构体为值类型...

  • 第一章:

    1.class 和 struct 的区别 a.class 为类, struct 为结构体, 类是引用类型, 结构体...

  • 指针初步了解

    结构体和类 本质区别: 类的本质是结构体,但是指针指向一个类 和指向一个结构体是不同的概念 例证: nsstrin...

  • 结构体和类(一)

    结构体和类模块分两篇笔记来学习: 第一篇: 结构体和类的区别 分析类和结构体可变性 以一个具体的例子来学习使用类和...

网友评论

      本文标题:结构体和类的区别

      本文链接:https://www.haomeiwen.com/subject/rmkktxtx.html