• 浅谈Swift和OC区别

    2018-06-07 14:30:50
    本文转自:https://www.cnblogs.com/yajunLi/p/6862164.html一、Swift和Objective-C的联系Swift和Objective-C共用一套运行时环境,Swift的类型可以桥接到Objective-C(下面我简称OC),反之亦然。两者可以互相引用...

    本文转自:https://www.cnblogs.com/yajunLi/p/6862164.html

    一、Swift和Objective-C的联系

    Swift和Objective-C共用一套运行时环境,Swift的类型可以桥接到Objective-C(下面我简称OC),反之亦然。两者可以互相引用混合编程。其次就是,OC之前积累的很多类库,在Swift中大部分依然可以直接使用,当然,Swift3之后,一些语法改变了很多,不过还是有迹可循的。OC出现过的绝大多数概念,比如引用计数、ARC、属性、协议、接口、初始化、扩展类、命名参数、匿名函数等,在Swift中继续有效(可能最多换个术语)。Swift大多数概念与OC一样。当然Swift也多出了一些新兴概念,这些在OC中是没有的,比如范型、元组等。

    但是:现阶段Swift 到底能不能取代 Objective-C?

    答案是还不行。

    其实到现在为止 Swift 离完全替代 Objective-C 还是很遥远,因为 Apple 内部一直在用 Objective-C 来做一些 Framework 的开发,底层也不可能用 Swift 实现,所以现在更多的替代是体现在外部开发。

    二、Swift比Objective-C有什么优势?

    1、Swift容易阅读,语法和文件结构简易化。

    2、Swift更易于维护,文件分离后结构更清晰。

    3、Swift更加安全,它是类型安全的语言。

    4、Swift代码更少,简洁的语法,可以省去大量冗余代码

    5、Swift速度更快,运算性能更高。

    三、Swift目前存在的缺点

    1、版本不稳定,之前升级Swift3大动刀,苦了好多人,swift4目前还未知

    2、使用人数比例偏低,目前还是OC的天下

    3、社区的开源项目偏少,毕竟OC独大好多年,很多优秀的类库都不支持Swift,不过这种状况正在改变,现在有好多优秀的Swift的开源类库了

    4、公司使用的比例不高,很多公司以稳为主,还是在使用OC开发,很少一些在进行混合开发,更少一些是纯Swift开发。

    5、偶尔开发中遇到的一些问题,很难查找到相关资料,这是一个弊端。

    6、纯Swift的运行时和OC有本质区别,一些OC中运行时的强大功能,在纯Swift中变无效了。

    7、对于不支持Swift的一些第三方类库,如果非得使用,只能混合编程,利用桥接文件实现。

    四、Swift其他功能说明

    1、Swift的内存管理

    Swift使用自动引用计数(ARC)来简化内存管理,与OC一致。

    2、Swift的可选项类型(Optionals)介绍

    Swift引入了可选项类型,用于处理变量值不存在的情况。Optionals类似于OC中指向nil的指针,但是适用于所有数据类型,而非仅仅局限于类,Optionals相比于OC中的nil指针,更加安全和简明,并且也是Swift诸多最强大功能的核心。

    3、Swift中的 !和  ?

    这两个符号是用来标记这个变量的值是否可选,!表示可选变量必须保证转换能够成功,否则报错,但定义的变量可以直接使用;?表示可选变量即使转换不成功也不会报错,变量值为nil,如果转换成功,要使用该变量时,后面需要加!进行修饰。

    4、Swift中范型的简单说明

    范型是用来使代码能安全工作,swift中的范型可以在函数数据和普通数据类型中使用,例如类、结构体或枚举。范型可以解决代码复用的问题,

    举个简单例子:这两个方法很类似,主要就一个参数类型的区别。

          func isIntEqual(x:Int,y:Int) -> Bool {
             return x == y
          }
          func isStringEqual(x:String,y:String) -> Bool {
            return x == y

          }

       我们可以利用范型合并一下:

      func isObjEqual<T:Equatable>(x:T,y:T) -> Bool {
            return x == y
        }

    这样,当我们使用时,我们如果将两个不同类型的数进行比较,编译器会马上提醒我们,从而快速避免这种情况。


    5、Swift的访问权限变更

    swift新增了两种访问权限,权限更细化。具体查看这里:

    访问权限 由大到小 依次为:open,public,internal(默认),fileprivate,private

    6、Swift Foundation框架

    为了方便使用,Swift的基本类型都可以无缝转换到 Foundation 框架中的对应类型。

    因为 Cocoa 框架所接受和返回的基本数据类型都是自身框架内的类型,也就是 Foundation 中所定义的像 NSString,NSNumber,NSArray 等这些东西。而脱离 Cocoa 框架进行 app 开发是不可能的事情。因此我们在使用 Swift 开发 app 时无法避免地需要在 Swift 类型和 Foundation 类型间进行转换。如果需要每次显式地书写转换的话,大概就没人会喜欢用 Swift 了。还好 Swift 与 Foundation 之间的类型转换是可以自动完成的,这使得通过 Swift 使用 Cocoa 时顺畅了很多。

    而且这个转换不仅是自动的,而且是双向的,而且无论何时只要有可能,转换的结果会更倾向于使用 Swift 类型。也就是说,只要你不写明类型是需要 NS 开头的类型的时候,你都会得到一个 Swift 类型。

    所以,Swift中的类型和OC的类型对应关系:

    String - NSString

    Int, Float, Double, Bool 以及其他与数字有关的类型 - NSNumber

    Array - NSArray
    Dictionary - NSDictionary 

    7、Swift便捷的函数式编程

    Swift提供了Map、FlatMap、Filter、Reduce等函数方法,能够大大方便我们对对象处理。

    举例最简单的场景:

    Map:

    var results = [1,3,5,7]
    let results = values.map ({ (element) -> Int in
        return element * 2
    })
    //"[2, 6, 10, 14]"

    Filter:

    var values = [1,3,5,7,9]
    let flattenResults = values.filter{ $0 % 3 == 0}
    //[3, 9]

    Reduce:

    var values = [1,3,5]
    let initialResult = 0
    var reduceResult = values.reduce(initialResult, combine: { (tempResult, element) -> Int in
        return tempResult + element
    })
    print(reduceResult)
    //9 

    五、其他补充

    ========================= swift独有 ==================== 

    1、范围运算符

    a...b 表示 [a,b] 包括a和b 。 (如3...5  就是范围取3,4,5)

    a..<b 表示 [a,b) 包括a,不包括b 。 (如3...5  就是范围取3,4)

    常见的如for循环:for i in 0...9{}

     

    2、独有的元组类型

    元组(tuples)把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相同类型。eg:

    var value = (Int,String) = (x:15,y:"abc")

    3、swift中使用let定义常量,var定义变量

    使用常量,更加安全,不能够被修改,在需要对对象进行修改的时候 只能用var修饰.

     

    4、if let 、 guard let 的用法

    缩减代码量,安全处理数据逻辑。

     

    ========================= 细节使用区别 ====================

    1、swift不分.h和.m文件 ,一个类只有.swift一个文件,所以整体的文件数量比起OC有一定减少。

    2、swift句尾不需要分号 ,除非你想在一行中写三行代码就加分号隔开。

    3、swift数据类型都会自动判断 , 只区分变量var 和常量let

    4、强制类型转换格式不同   OC强转:(int)a      Swift强转:Int(a)

    5、关于BOOL类型更加严格 ,Swift不再是OC的非0就是真,而是true才是真false才是假 

    6、swift的 循环语句中必须加{} 就算只有一行代码也必须要加 

    7、swift的switch语句后面可以跟各种数据类型了 ,如Int、字符串都行,并且里面不用写break(OC好像不能字符串)

    8、swift  if后的括号可以省略:  if a>b {},而OC里 if后面必须写括号。

    9、swift打印  用print("")    打印变量时可以  print("\(value)"),不用像OC那样记很多%@,d%等。

    10、Swift3的【Any】可以代表任何类型的值,无论是类、枚举、结构体还是任何其他Swift类型,这个对应OC中的【id】类型。

     

     

     六、Swift的前景

    可能很多人会问,到底该不该学Swift,难度大不大?

    我的理解是:

    如果时间可以,可以试着学习,最好能试着写一点代码,单纯的看书或看教程没太大意义,实践出真知。

    其实最初期的学习,更多的是语法的转变而已,这里的难点是不大的,而Swift的思想我们可以后期慢慢学习并深入体会。

     

    最后,我还是希望Swift发展的越来越好,功能和社区完善的更棒。

     

     七、附上推荐文章链接:

    1、Swift进阶 - 11个技巧

    2、无论你是否主力 Swift, 这些事情你都可以了解一下 

    3、Swift 再等等?我的答案是:快上车



    展开全文
  • OCswift区别

    2019-04-03 10:07:42
    3.因为swift 定义的常亮变量是没有值的,所以引入了可选的概念,这时候 如果swift没有值的话 就用optional 4.在swift 中,let 声明的常量的值不能改变 var 生命的变量的值是可以改变的 在swift 中 继承里面写...

    swift 是在oc上提出来的
    swift中有oc中没有的类 比如 元组 有泛型
    3.因为swift 定义的常亮和变量是没有值的,所以引入了可选的概念,这时候 如果swift没有值的话 就用optional

    4.在swift 中,let 声明的常量的值不能改变 var 生命的变量的值是可以改变的

    1. 在swift 中 继承里面写final防止被重写
    2. 类型的转换 as
      7.oc 是动态语言有runtime swift 是静态语言,oc是将数据类型的确定由编译时 推迟到了 运行时
      8.swift 提供了map, flatmap, filter, reduce
      9.文件上没有.h.m之分

    swift 优势

    swift 更容易阅读
    swift 文件分离更清晰
    swift 是类型安全类语言
    swfit 速度快 运行性能高

    缺点
    版本不稳定



    作者:化身孤岛的鲸_ca35
    链接:https://www.jianshu.com/p/c936b15b49e7
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    展开全文
  • Ocswift区别

    2016-06-17 10:13:44
    Ocswift区别 Ocswift区别(文件结构) 1.文件后缀名 oc的文件后缀名为:头文件.h 主体文件.m swift文件后缀名为:.swift   2. 代码分隔符 oc中使用分号;作为代码分隔符 swift中无需使用代码分隔符,以...

    Oc与swift区别

    Oc与swift区别(文件结构)

    1.文件后缀名

    oc的文件后缀名为:头文件.h  主体文件.m

    swift文件后缀名为:.swift

     

    2. 代码分隔符

    oc中使用分号;作为代码分隔符

    swift中无需使用代码分隔符,以行作为代码分隔,如一行内有多行代码,则各行代码之间同样需使用分号;分隔

     

    3.main函数

    oc的main函数为程序入口,其函数定义与c语言类似

    swift没有main函数,其代码是至上而下运行,第一行代码即为程序入口

     

    Oc与swift区别(常量、变量、运算符)

    4.常量与变量声明

    oc的变量声明使用  类型 变量名 = 变量值的方式,其中类型为系统内置数据类型或自定义类型,变量名需由英文字母开头且不能包含特殊字符

    swift变量声明使用 var 变量名 = 变量值的方式,其中变量名可以使用任何你喜欢的字符,甚至是表情符号emoji等

     

    oc常量声明使用const放在变量定义前即为声明常量,如:const NSString *str = @"Hello";

    swift常量声明使用 let 常量名 = 常量值的方式,同样可以使用任何你喜欢的字符作为常量名

     

    swift 可以自动推断出常量与变量的数据类型,当然也可以使用“:数据类型”的方式指定其具体数据类型,如 let age:Int = 10

    PS:swift严格要求变量在使用前必须进行初始化,如上所示,必须给定变量值,而oc则不强制

     

    5.整数

    swift提供了8、16、32、64位有符号和无符号整数,如UInt8、Int64等,每一种类型都有一个min和max可调用,如UInt8.min、UInt8.max等。

     

    6.浮点数

    swift浮点数可以用十进制和十六进制2种进制来表示

    十进制:let d1=12.5或let d2=0.125e2 后缀e2代表e前面部分乘以10的2次方

    十六进制:let d3=0xC.8p0    0x前缀表示后面是十六进制,p0代表前面整个数字乘以2的0次方  且指数部分(px)必须存在

     

    7.数字格式

    swift中允许在数字中间加入符号_,以增加可读性,并不会影响原来数据,如 let money = 100_0000 还是表示100000

    swift中还允许在数字前面加入0,以增加可读性,并不会影响原来数据,如 let money = 001_000_000还是表示1000000

     

    而这些在oc中是不允许的

     

    8.字符串

    oc中使用@""来表示字符串

    swift使用""来表示字符串,拼接字符串直接使用+将两个字符串或字符串变量进行拼接运算即可,如var str1="abc";var str2="def";varstr3=str1+str2;

    oc使用stringFormat方法进行字符串格式化,可以将其他非字符串值插入字符串中进行格式化

     

    swift使用“\()”将其它非字符串插入字符串中,如:let hand=2;var age=20;let str="我今年\(age)岁了,有\(hand)只手",也可以使用String(age)进行转换,并用+进行字符串拼接,如let str="我今年"+String(age)+"岁了,有"+String(hand)+"只手"

     

    9.数据类型转换

    swift类型转换使用“数据类型(原数据)”进行类型转换,如letmoney1=100;let money2=50.5;let totalMoney=Double(money1)+money2;

     

    10.运算符

    oc赋值运算符返回该变量值,如 int a = 0;int b = a = 10;其实a=10返回10赋值给了b

    swift赋值运算符没有返回值

     

    oc求模运算只支持整数求模运算

    swift求模运算支持浮点数求模运算,如8%2.5=0.5,因为8=2.5*3+0.5

     

    oc中bool有两个值 YES  NO  其实根本0为假,非0都代表真

    swift中bool有两个值false  true   且只有false和true   0与非0在任何场合都不代表bool值,比如if(10)这种写法是错的

     

    swift 比oc中多几种运算符

    10.1闭合范围运算符

    a...b [a,b]包含a,b

    a..<b [a,b)包含a,不包含b

    如for i in0..<5{

      printfln(i)

    }

    10.2溢出运算符

    swift为整型计算提供了5个&开头的溢出运算符

    &+ 溢出加

    &- 溢出减

    &* 溢出乘

    &/ 溢出除

    &% 溢出求模

    如 let x =UInt8.max //x=255

        let y = x &+1        //y=0

    如 let x =UInt8.min //x=0

    let y = y &- 1     //y=255

     

    oc与swift区别(条件语句)

    11.swift中的switch结构

    区别一:

    oc中switch条件只可以放整数

    swift中switch条件可以放几乎任何数据类型

    区别二:

    oc中每一个case中应有break,如果没有break,则会继续向下贯穿执行case直到碰见break跳出switch结构

    swift中不需要在case分支最后添加break语句,该case分支执行完成后,会跳出switch结构

    区别三:

    oc中不是每个case后面必须有可执行语句,如果某个case分支中没有可执行语句和break,则该分支将会执行其下面最近的一个有可执行语句的分支中代码,以此实现多条件匹配

    swift中每个case后面必须都有可执行语句,

    ps:此区别是因为区别二的存在,swift中表示多条件匹配的情况使用的语法为,case后跟多个条件,用逗号隔开。

    此外,swift的case中可以填写一个范围作为匹配条件,如case a...b:

    区别三:

    oc中switch中default不是必需的

    swift中switch中default是必需的

    swift中switch语句可以使用where来增加判断条件

    如:

    var point = (10,-10)

    switch point{

    case let(x,y)where x == y :

    //

    case let(x,y)where x == -y :

     //

    default :

    //

    }

    swift中switch语句可以使用fallthrough关键字来执行贯穿操作,即执行完当前case后,会接着执行fallthrough后面的case或着default语句,类似于oc中case没有写break语句,但是使用了fallthrough,其后面的case条件中将不能定义常量或变量,即fallthrough后面的case条件不能使用类似上面代码中let (x,y) 这样的变量来接收point,否则会有语法错误。

     

    oc与swift区别(函数)

    13 函数

    oc函数定义:

    返回值类型函数名(参数类型参数名,参数类型参数名){

    }

    swift 函数定义:

    func函数名(参数名:参数类型,参数名:参数类型) -> 返回值类型{

    }

    swift中没有返回值的函数有三种写法:

      13.1

      func 函数名(参数名:参数类型,参数名:参数类型) ->Void{

      }

      13.2

      func 函数名(参数名:参数类型,参数名:参数类型) ->(){

      }

      13.3

      func 函数名(参数名:参数类型,参数名:参数类型){

      }

    swift中没有行参的函数函数名后面的小括号也不能省略

     

    展开全文
  • OC和Swift之间的互调很简单,iOS8以后官方给出了这两种语言之间的桥接方案,简单说就是在Swift工程中,通过提示创建的Bridging头文件可以将OC文件和Swift文件衔接在一起,从而可以在OC文件中引用Swift类,或者在...

    OC和Swift之间的互调很简单,iOS8以后官方给出了这两种语言之间的桥接方案,简单说就是在Swift工程中,通过提示创建的Bridging头文件可以将OC文件和Swift文件衔接在一起,从而可以在OC文件中引用Swift类,或者在Swift文件中引用OC的类。应用较多的主要是在Swift中调用OC类,使得在最新的swift工程中仍然能够兼容使用以前的OC类库等。

    这里通过一个简单的例子展示在Swift工程中OC和Swift之间的互调:

    首先建立一个Swift工程,这里创建了一个Single View Application,工程名为SwiftBridge,并分别新建了一个新的名为SwiftClass的swift类文件和一个名为OCClass的OC类文件,创建第一个OC文件后会提示创建一个Bridging头文件,创建后就可以对两者进行桥接:

    SouthEast

    SouthEast

    这里我们在ViewController.swift中调用OCClass类,同时在OCClass类中调用SwiftClass.swift。其中在swift中引用OC类时要在Bridging头文件中引入OC类的头文件(swift文件中没有头文件及其引用),而在OC中引用swift类时直接引入“SwiftBridge-swift.h”即可,不需要在Bridging头文件设置,其中“SwiftBridge”为工程名,该文件是隐藏的,对工程中所有swift类文件进行了向OC语言的翻译,从而在OC文件中可以像调用其他OC文件一样调用工程中的swift类文件。

    1. 在SwiftClass.swift中定义一个实例方法和一个类方法:
    import UIKit
    
    class SwiftClass: NSObject {
        func SwiftInstanceMethod() -> Void {
            print("swift instance method!");
        }
        class func SwiftClassMethod() -> Void {
            print("swift class method!");
        }
    }
    1. 在OCClass类中调用SwiftClass:
    /* OCClass.h */
    #import <Foundation/Foundation.h>
    
    @interface OCClass : NSObject
    - (void)OCInstanceMethod;
    + (void)OCClassMethod;
    @end
    
    /* OCClass.m */
    #import "OCClass.h"
    #import "SwiftBridge-swift.h" /* 引入swift类头文件 */
    
    @implementation OCClass
    - (void)OCInstanceMethod {
        /* 调用swift实例方法 */
        SwiftClass *swiftc = [[SwiftClass alloc] init];
        [swiftc SwiftInstanceMethod];
        NSLog(@"oc instance method!");
    }
    + (void)OCClassMethod {
        /* 调用swift类方法 */
        [SwiftClass SwiftClassMethod];
        NSLog(@"oc class method!");
    }
    @end
    1. 在Bridging头文件引入OC类头文件供swift调用:
    /* SwiftBridge-swift.h */
    #import "OCClass.h"
    1. 在ViewController.swift中调用OCClass类:
    /* ViewController.swift */
    import UIKit
    class ViewController: UIViewController {
        override func viewDidLoad() {
            super.viewDidLoad()
    
            let occ = OCClass()
            occ.ocInstanceMethod()
            OCClass.ocClassMethod()
        }
    }

    打印结果:

    swift instance method!
    2017-04-12 12:40:39.657 SwiftBridge[3773:5420107] oc instance method!
    swift class method!
    2017-04-12 12:40:39.657 SwiftBridge[3773:5420107] oc class method!

    另外类似的也可以实现swift和C语言之间的互调。

    展开全文
  • 原有的项目都是使用OC写的,既然要在原有项目中引入swift文件首先就要实现OC和swift的混编设置。 混编设置: 在OC项目中创建一个swift文件的时候首先Xcode会弹出一个提示框: 这时我们要选择“Create ...

    背景:

    最近又开始看了一些关于Swift的视频、博客、书,发现swift相对于OC使用起来更简洁了,于是就想在原有项目中引入swift。原有的项目都是使用OC写的,既然要在原有项目中引入swift文件首先就要实现OC和swift的混编设置。

    混编设置:

    1. 在OC项目中创建一个swift文件的时候首先Xcode会弹出一个提示框:

    这里写图片描述

    这时我们要选择“Create Bridging Header”,这样就会在项目中生成一个进行OC和swift桥接的.h文件文件和我们要创建的一个swift文件。

    1. 将“Build Setting”中的“Defines Module”设置为“Yes”。

    这里写图片描述

    设置Defines Module
    3. 在项目中创建一个.h文件,文件名:“项目名称-Swift.h”,如:OCAndSwift-Swift.h,创建完成之后我们在需要引入swift文件的OC文件中引入这个.h文件,然后在工程中将此.h文件删除,command + shift + K 即“clean”一下,项目便不会报错了。

    1. 创建一个swift文件,在要使用该swift文件的OC文件中直接使用该swift文件即可,都不用引入此swift文件。如果在OC文件中无法使用此swift类,我们只需command + shift + R一下即可。

    下面附上一个小demo的地址:https://gitee.com/liangsenliangsen/oc_and_swift_mixed.git

    本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。

    展开全文
  • 为了更好地学习,本人决定将学习的swift和OC进行下对比。 对比: 1.import的类 OC:某个只要要使用某个类就要将该类import。 swift:如果是用户自己创建类,其他类无需import可以直接使用。pod的一些三方类...
  • 说起这个话题,在我看来,比项目中的OC混编C++,C等简单些,毕竟OC和Swift都是苹果自己的开发语言,API什么的都一样,还是更容易混合开发些,好了,废话不多说,切正题,OCSwift怎么混和开发呢?OC类中可以引入...
  • oc和swift混编

    2020-06-21 16:48:13
    这是需要做oc和swift混编需要用到的,现在oc的发展变慢,swift成长很快,需要这种技术的请下载,如果不是做ios的请慎重
  • 最新一些学妹问起,所以抽点时间来写的,适合入门级别的swiftOC 混编 的程序猿。 本文章将从两个方向分别介绍 OCswift 混编 1. 第一个方向从 swift工程 中引入 oc类   1. 1 如何在swift的类中使用...
  •  1、swiftOC更年轻,这意味着swift 可以采用其它语言优秀的语言特性,使swift更简洁、容易阅读维护,采用更少的代码编写更多的东西。  比如OC独有的中括号被人诟病,以及OC语言异步编程block嵌套后对齐的方.....
  • OC和Swift混编Pod引入第三方库的问题 问题描述:Swift应用OC 的开源框架,需要创建一个桥接头文件,问题就出在这个看似简单,却隐藏着一个巨大的问题:一切都按部就班的在桥接头文件中引入了OC 头文件,但是...
  • OC和Swift是苹果爸爸的原生语言,Swift代替OC的成本太高,需要过度时间,但是现在的Swift的成长很快,在这个矛盾的时间,我们必须混编了。 1、创建一个新的工程 ,工程的名字叫OCAndSwiftDemo。 2、配置工程...
  • 有时候 ,我们会涉及到双向混合编程,特别是OC和swift的互相引用。   swift调用oc的方法: 1、桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改名,直接默认即可) 2、将需要引用...
  • OCSwift混合使用

    2017-07-11 09:13:02
    随着swift趋向于稳定,越来越多的公司启动的新项目也想使用swift过把瘾,使用swift的好处与弊端不再赘述。目前版本是swift3.0,而且Xcode9beta版中已经更新到swift4.0。使用swift开发是大趋势,这里从以下几个方面看...
  • OC和Swift混编(惊喜!)

    2015-05-12 20:30:25
    今天在一位前辈交流的之后,使用了OC和Swift混编开发,遇到了一个让我忍不住要欢呼的情况,在这里,跟大家分享一下,也再次赞叹一下XCode的强大.OC和Swift混编出现最多的就是在编写Swift代码的过程中使用OC框架了....
  • 随着 swift 的不断完善 项目中或多或少 有可能会用到 swift 的第三方库 而有时候你又需要把你的项目打包给别的公司去用,就需要OC和swift 混合打包  现在提供一种分开打包的方法: 在自己的项目中你可以直接用桥...
  • OC枚举和Swift 枚举

    2016-07-31 08:56:30
    OC枚举 Swift 枚举介绍
  • oc调用swift

    2015-11-14 18:05:06
    如果你想在Objective-C工程中,嵌入Swift文件,实现OC调用Swift,那么这篇文章就能帮助你,由于本人最近在开发Swift项目,所以实现过OC调用Swift,在这过程中遇到过一些瓶颈,特此,将此文奉上,供大家参考。...
  • OCSwift区别

    2018-01-03 16:52:58
    swift独有 1范围运算符 2 元组类型 3swift中定义常量用let...7swift3 新增访问权限fileprivate openswift独有1、范围运算符a...b 表示[a, b] 包括 a b 。(eg:3...5,就是范围 3, 4, 5) a..表示[a, b) 包括 a
1 2 3 4 5 ... 20
收藏数 19,869
精华内容 7,947