【发布时间】:2018-04-12 20:41:12
【问题描述】:
我有以下带有结构的类:
class JsonHelper {
//for tests only
struct arrivalScan {
let TOID: String
let UserId: String
let GateId: String
let TimeStamp: String
}
func sendArrival(scan: arrivalScan){
//do something
}
}
在我的视图控制器中,我正在尝试创建初始化到达扫描:
let scan = JsonHelper.arrivalScan.init(TOID:"D/0098/123456",UserId:"O0124553",GateId: "G/0098/536371",TimeStamp: "11/04/2018 11:51:00")
然后将此作为参数传递给JsonHelper 中的sendArrival 函数
JsonHelper.sendArrival(scan)
但出现错误“JsonHelper.arrivalScan”不能转换为“JsonHelper”
我做错了什么?
【问题讨论】:
-
你应该避免直接使用
init。JsonHelper.arrivalScan(TOID:...就足够了。 -
为什么要避免直接使用 init 的任何具体原因? @瑞安
-
@BadhanGanesh 因为你不需要。您不想每次都输入更多字符,是吗?如果您使用的是类似 swiftlint 的脚本工具,那么在一行中保存字符可能是个大问题。