一、Swift 和OC 如何相互调用?
1.Swift 调用 OC代码
- 需要创建一个 Target-BriBridging-Header.h 的桥文件,在乔文件导入需要调用的OC代码头文件即可
2.OC 调用 Swift代码
- 直接导入 Target-Swift.h文件即可, Swift如果需要被OC调用,需要使用@objc 对方法或者属性进行修饰
二、类(class) 和 结构体(struct) 有什么区别?
1.Class 是引用类型(指针类型)
引用类型只会使用引用对象的一个"指向"; 赋值给var、let或者给函数传参,是将内存地址拷贝一份,类似于制作一个文件的替身(快捷方式、链接),指向的是同一个文件。属于浅拷贝(shallow copy)。 比如
Class,是在堆空间上存储和操作的。
2.Struct 是值类。
值类型在传递和赋值时将进行复制; 赋值给var、let或者给函数传参,是直接将所有内容拷贝一份,类似于对文件进行copy、paste操作,产生了全新的文件副本。属于深拷贝(deep copy)。比如
结构体,枚举,是在栈空间上存储和操作的。
网友评论