美文网首页iOS-Developer-Swift
[OC&Swift] 混编遇到的的坑

[OC&Swift] 混编遇到的的坑

作者: 奴良 | 来源:发表于2018-10-25 15:28 被阅读45次

    先列一个目录

    • Swift中使用YYModel
    • OC调用Swift定义的枚举
    • Swift创建的类,在OC文件的.m中可被识别,在.h文件中不可被识别
    • Swift类中如何使用#if DEBUG

    Swift中使用YYModel

    定义的变量前必须加上 @objc

    对于int等类型 会报错:Property cannot be marked @objc because its type cannot be represented in Objective-C

    因为在swift中Int等类型为结构体,所以需要这样
    @objc var count: Int = 0

    OC调用Swift定义的枚举

    需要这么定义

    @objc public enum LFUserListCellType : Int {
        case normal
        case follow
    }
    

    Swift创建的类,在OC文件的.m中可被识别,在.h文件中不可被识别

    这个就比较坑爹了,按理说在OC的类中 #import "projectName-Swift.h"即可,但是如果在.h里识别不了的话,还得需要做如下操作

    .h中声明下@class SwiftClass

    Swift类中如何使用#if DEBUG

    在项目的Build Settings里配置Swift Compiler - Custom Flags,展开Other Swift Flags,在Debug右侧输入"-DDEBUG"

    参考链接

    相关文章

      网友评论

        本文标题:[OC&Swift] 混编遇到的的坑

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