博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift与OC区别
阅读量:4572 次
发布时间:2019-06-08

本文共 941 字,大约阅读时间需要 3 分钟。

一.Swift与OC区别:

    1.swift程序的入口是UIApplicationMain;

    2.OC的类是以.h和.m组成的;swift是一.swift结尾的;

    3.OC的类是以@interface和@end开始结尾;swift是采用{};

    4.OC里语句结束以分号(;);swift里不需要分号,添加分号也不会出错;

    5.OC中创建一个视图,采用alloc/init,swift采用();

    6.OC中创建视图采用initWithXXX;swift里变成(XXX:)

    7.swift设置属性,全面采用点语法;

    8.OC中添加视图使用self.view.addSubView;swift添加视图使用view.addSubView,不使用self,为了在闭包里和构造函数里区分会在闭包里和够构造函数里用self;

    9.OC中枚举需要写全,swift中采用type.类型的形式;

    10.OC里的方法是采用@selector;swift采用”方法名”形式;

    11.swift中的枚举可以省略前面的tyoe,直接采用点语法,只能提示不太好;

    12.OC中打印使用NSLog,swift使用print;

    13.等号左右两边最号用对等的空格;

二,swift和oc在runtime的区别

swift是静态语言。在编译时就确定了类型。oc是在运行的时候知道类型的。swift的效率要高一些。swift不建议使用runtime

 

 

  • 纯Swift类没有动态性,但在方法、属性前添加dynamic修饰可以获得动态性。
  • 继承自NSObject的Swift类,其继承自父类的方法具有动态性,其他自定义方法、属性需要加dynamic修饰才可以获得动态性。
  • 若方法的参数、属性类型为Swift特有、无法映射到Objective-C的类型(如Character、Tuple),则此方法、属性无法添加dynamic修饰(会编译错误)
  • Swift类在Objective-C中会有模块前缀
  • http://www.infoq.com/cn/articles/dynamic-analysis-of-runtime-swift

转载于:https://www.cnblogs.com/it-k-50/p/6117386.html

你可能感兴趣的文章
Jason 和 Java 对象转化示例
查看>>
笔记_第一章_01
查看>>
github开发
查看>>
Codeforces Round #564(div2)
查看>>
python协程
查看>>
IaaS基础设施资源管理架构与openstack各组件对应关系
查看>>
PHP SplObjectStorage使用实例
查看>>
使用sencha cmd打包extjs4.2.2
查看>>
Python之路—Day2作业
查看>>
方法重载
查看>>
在windows中使用VMWare安装Mac OS 10.7
查看>>
windows下通过idea连接hadoop和spark集群
查看>>
BZOJ 1822 Frozen Nova 霜冻新星
查看>>
2016041601 - linux上安装maven
查看>>
Android游戏可能遇到的3个问题及解决方案
查看>>
DataBase First创建数据库
查看>>
真事儿!——我们官网被全站拷贝了!
查看>>
边工作边刷题:70天一遍leetcode: day 27-1
查看>>
清理C盘的一个新发现,Visio Studio在调试过程中产生的垃圾文件
查看>>
抽象类及抽象方法
查看>>