在函数的参数中使用 "in"[重复]。

问题描述 投票:0回答:1

我一直在关注雷-温德利希的书。高级iOS应用架构他们有一个协议,看起来像下面。

protocol RideOptionDeterminedResponder {
  func pickUpUser(in rideOptionID: RideOptionID)
}

我不明白我们 in 在...之前 rideOptionID 参数(顺便说一下,它只是String的一个typealias),因为我一直以为只有在写闭包时才会用到这个关键字。我在周围找了很多关于使用 in 但还没有任何收获。

的目的是什么?in 在这里,如果没有这个功能会有什么不同?

如果你需要更多的信息来了解这个功能的工作原理,以便更好的解释自己,就告诉我吧)。

swift function parameters keyword
1个回答
0
投票

Swift中的函数支持外部和内部名称。这实际上意味着你可以使用两个不同的名字来引用同一个参数。这就是 in 在你提供的代码中,是一个外部参数名。

外部参数和内部参数的区别在于,你在调用一个方法时使用第一个参数,而在处理该方法主体内的值时使用第二个参数。

所以,你会调用这样的方法。

// Call the method using the external parameter name in
pickUpUser(in: someRideOptionID)

func pickUpUser(in rideOptionID: RideOptionID) {
  // Do something with the value, accessing it using the internal parameter name rideOptionID
}

0
投票

The in 这里的关键字只是为了指定函数中的参数。在调用函数时,你可以直接将其调用为。

pickUpUser(in: rideOptionID)

If in 是不存在的,你就得叫它为。

pickUpUser(rideOptionID: rideOptionID)

你可以通过 Swift文档 详见 Specifying Argument Labels

© www.soinside.com 2019 - 2024. All rights reserved.