当前位置: 代码迷 >> 综合 >> Day33:Swift 和 Object - C
  详细解决方案

Day33:Swift 和 Object - C

热度:86   发布时间:2023-09-29 18:35:19.0
  • 注意点 Subclass
  1. 对于自定义类而言,OC的类,不能继承自swift的类,即要混编的OC类不能是swift的子类。反过来,需要混编的swift类可以继承自OC的类。
  • 注意点 宏
  1. OC:定义一个常量值,后面可以方便使用;例如:#define TOOLBAR_HEIGHT 44;
  2. Swift:可以直接使用 let TOOLBAR_HEIGHT:CGFloat = 44;

  1. OC:定义一个不变化的常用值,或者一个较长的对象属性;如#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width);
  2. Swift:可以直接使用 let SCREEN_WIDTH = UIScreen.mainScreen().bounds.size.width

  1. OC:定义一个会变化的常量值,或者一个较长的对象属性;如#define STATUS_BAR_HEIGHT  [UIApplication sharedApplication].statusBarFrame.size.height;
  2. Swift:可以用函数:func STATUS_BAR_HEIGHT() -> CGFloat {    return UIApplication.sharedApplication().statusBarFrame.size.height;    }

  1. OC:定义一个带参数的宏,类似一个函数;如#define RGB_COLOR(r,g,b) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1.0];
  2. Swift:可以用函数:func RGB_COLOR(r:CGFloat,g:CGFloat,b:CGFloat) ->  UIColor{ return UIColor(red:r,green:g,blue:b,alpha:1.0)}
  • 注意点 swift独有特性
  1. swift 中有许多OC没有的特性,比如:swift有元组、为一等公民的函数,还有特有的枚举类型。所以要使用的混编文件要注意swift独有特性问题。

  相关解决方案