• Swift与OC区别


    一.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
  • 相关阅读:
    virtualbox+vagrant学习-2(command cli)-19-vagrant box命令
    virtualbox+vagrant学习-2(command cli)-24-Aliases别名
    virtualbox+vagrant学习-2(command cli)-23-vagrant version命令
    virtualbox+vagrant学习-2(command cli)-22-vagrant validate命令
    如何快速学习一门技术或进入一个岗位
    EL表达式详解
    关于JSP乱码问题
    java mail使用qq邮箱发邮件的配置方法
    数据库命名规范
    java中的Serializable接口的作用
  • 原文地址:https://www.cnblogs.com/it-k-50/p/6117386.html
Copyright © 2020-2023  润新知