美文网首页iOS技术
Swift与OC部分方法、类型区别与互转

Swift与OC部分方法、类型区别与互转

作者: 762683ff5d3d | 来源:发表于2018-03-07 10:37 被阅读0次

Swift与OC转换

1、获取对象类型

OC:

NSDate* date = [NSDate date];

NSLog(@"%@",NSStringFromClass([date class]));

Swift:

letdate =NSDate()

letname = date.dynamicType

共有:

let name:AnyClass! = object_getClass(date)

2、函数入参中对象转化

OC转Swift,对象变为可选类型

Swift转OC,不用改变

3、枚举

1)Swift按位操作使用OptionSetType

struct MyOptions : OptionSetType {    

let rawValue: Int    

static let None        = MyOptions(rawValue: 0)    

static let FirstOption  = MyOptions(rawValue: 1 << 0)    

static let SecondOption = MyOptions(rawValue: 1 << 1)    

static let ThirdOption  = MyOptions(rawValue: 1 << 2)}

Now we can use set-based semantics withMyOptions:

let singleOption = MyOptions.FirstOption

let multipleOptions: MyOptions = [.FirstOption, .SecondOption]

if multipleOptions.contains(.SecondOption) { 

print("multipleOptions has SecondOption")

}

let allOptions = MyOptions(rawValue: 7)

if allOptions.contains(.ThirdOption) { 

print("allOptions has ThirdOption")

}

2)OC调用Swift,只需增加前缀@objc

@objc enum Bear: Int {    case Black, Grizzly, Polar}

Shamelessly taken from the[Swift Blog](https://developer.apple.com/swift/blog/?id=22)

In Objective-C this would look like

Bear type = BearBlack;switch (type) { 

case BearBlack: 

case BearGrizzly: 

case BearPolar:[self runLikeHell];

}

3)Swift调用OC直接使用rawValue

相关文章

  • Swift与OC部分方法、类型区别与互转

    Swift与OC转换 1、获取对象类型 共有: 2、函数入参中对象转化 OC转Swift,对象变为可选类型 Swi...

  • Swift-07:枚举enum

    这里先介绍一下swift枚举与oc枚举的区别 OC: 枚举只能为Int类型swift : 可以在枚举中定义方法 可...

  • OC与swift的区别

    OC与Swift的区别一(文件结构) OC与Swift的区别一(常量、变量、运算符) OC与Swift的区别三(条...

  • ios面试

    一、OC与Swift的区别 1.swift是静态语言,有类型推断,OC是动态语言。2.swift面向协议编程,OC...

  • iOS面试

    # 一、OC与Swift的区别 1.swift是静态语言,有类型推断,OC是动态语言。 2.swift面向协议编程...

  • 【Swift】oc与Swift混编方法调用

    本文不介绍桥文件搭建和类的导入,只是阐述oc与swift函数方法的小区别 oc中有类方法与对象方法,调用swift...

  • Swift与OC的区别

    Swift与OC的区别 1、基础篇 2、监听方法 OC 使用 @selector(actionName) Sw...

  • NSString &

    1. 字符串与数组互转 OC Swift 2.

  • Swift语言基础

    //Swift 与 OC 的区别

  • Swift--字符串--02

    字符串基础 字符串在OC与Swift中的区别:在OC中字符串类型是NNString,在Swift中字符串类型是St...

网友评论

    本文标题:Swift与OC部分方法、类型区别与互转

    本文链接:https://www.haomeiwen.com/subject/mdxjfftx.html