美文网首页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