zoukankan      html  css  js  c++  java
  • Swift与OC混编

    OC调用Swift的方法:添加 import "xxxx-Swift.h" 头文件即可

    Swift调用OC的方法:需要建立桥接: xxxx-Bridging-Header.h 头文件(建立方法自行百度)

    注意:

    1.在Swift调用OC的单例方法时,直接xxxx(),()里面可以有参,例如:

    oc中代码

    @interface HPModel : NSObject
    + (instancetype)model;
    @end

    swift调用

     let model:HPModel = HPModel()

    直接用 HPModel() 代替了 + (instancetype)model

    2. Swift中协议如果在OC中调用,需要在协议protocol关键字前面添加 @objc 

    3. Swift中防止循环引用,直接用在var前面加上weak即可

    4. Swift中ViewController默认构造方法不再关联同名的xib文件,需要开发者制定xib的名字,否则会报错:fatal error: unexpectedly found nil while unwrapping an Optional value。

    • 解决办法:
        init() {
            
            super.init(nibName: "xibName", bundle: NSBundle.mainBundle())
            
        }
        
        required init?(coder aDecoder: NSCoder) {
            super.init(coder: aDecoder)
            fatalError("init(coder:) has not been implemented")
        }
    此文章为个人笔记,方便自己以及有需要的朋友查看,转载请注明出处!
  • 相关阅读:
    ES6常用语法简介
    webpack核心概念
    前端模块化规范详解
    使用Node.js原生代码实现静态服务器
    Node.js脚手架express与前段通信【socket】
    临门一脚- Node.js
    redis缓存穿透和雪崩
    redis哨兵模式
    redis主从复制
    redis发布订阅
  • 原文地址:https://www.cnblogs.com/shpyoucan/p/5601157.html
Copyright © 2011-2022 走看看