zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    团队项目-第二阶段冲刺1
    第十四周总结
    第十三周总结
    程序员修炼之道阅读笔记02
    第十二周总结
    程序员修炼之道阅读笔记01
    Spring Boot 揭秘与实战 自己实现一个简单的自动配置模块
    Spring Boot 揭秘与实战 源码分析
    Spring Boot 揭秘与实战 源码分析
    Spring Boot 揭秘与实战(九) 应用监控篇
  • 原文地址:https://www.cnblogs.com/it-k-50/p/6117386.html
Copyright © 2011-2022 走看看