OC与Swift混编

1.swift使用oc的单例类方法或者+(instancetype)方法

在oc项目里面混编swift的时候,swift类里面常常用到oc单例里面的数据,创建对象后调用类方法的时候要注意,xcode只默认default  singleton  share三个关键字为前缀的方法名,其他的会被忽略

例如   +(instancetype)shareManager

2.tableview自定义给cell下面加横线(分割线)

  先看oc版本的



因为tableview的复用机制,所以要采用遍历的方法remove掉横线,重新加载


swift版本的遍历和oc的语法有所不同这里可以借鉴查看

3 在oc里面自定义了一个alertView弹窗,继承与jypopview是一个半透明的黑色背景,添加了一个xib。如果在swift里面调用这个弹窗的话,不能直接使用oc里面的加号方法初始化。要使用swift里面加载xib的方法


这其中继承关系如下




这样,在swift里面就可以直接使用父类里面的show方法

4.swift懒加载


5.swift中判断字符串是否为空,不再使用 if(str){}

可以用if str.isEmpty{}

swift与Int类型拼接时候可以用\。例


6.Swift 设置在debug模式下打印日志,并且锁定代码位置

// 可以把下列代码放在AppDelegate的@UIApplicationMain的上方

func DebugLog(messsage : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) {

#if DEBUG

let fileName = (file as NSString).lastPathComponent

print("\(fileName):(\(lineNum))-\(messsage)")

#endif

}

//使用方法

DebugLog(messsage: "test")

//输出类名 + 代码行数 + 输出信息

ViewController.swift:(37)-test

你可能感兴趣的:(swift,xcode)