swift-OC转swift

本文探讨如何将Objective-C中的宏转换为不带参数且在异步操作完成后可能被调用的闭包,以适应现代编程需求。
摘要由CSDN通过智能技术生成
id -> Any
completion:(dispatch_block_t)completion -> completion: @escaping () -> Void//没有参数也没有返回值的闭包,@escaping表示闭包可能会在返回值后调用,比如异步操作

@objc

将 Swift 中的特性(类、协议、属性、方法等)暴露给 Objective-C 使用
让 Swift 中的某个类、协议、方法等被 Objective-C 使用
带来一些限制,比如使得方法或属性的类型不能是非 Objective-C 兼容的类型

初始化问题

如果你类的属性,及不在声明时初始化,也没有设置默认值,也不是可选类型就必须在init时赋值
如果是可选类型就可以不赋值,但是默认都是nil

创建指定类型array

var internalConstraints = NSLayoutConstraint

重写init方法

init方法里面如果是基础了UIVIewController必须在init方法里面实现

 super.init(nibName: nil, bundle: nil)

也必须实现一个

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
//required init?(coder:) 方法:这是一个必要的初始化方法,当从 storyboard 或 nib 文件加载视图控制器时,系统会调用它。这里需要对所有非可选属性进行初始化。通常你会提供默认值或使用一些解码操作来初始化这些属性。

guard的使用场景

问题

OC的宏怎么转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值