在函数参数中使用 "in"
Use of "in" in a function's arguments
我一直在关注 Ray Wenderlich 的书 Advanced iOS App Architecture,他们有一个如下所示的协议:
protocol RideOptionDeterminedResponder {
func pickUpUser(in rideOptionID: RideOptionID)
}
我不明白 in
在 rideOptionID
参数之前的用法(顺便说一句,它只是 String 的类型别名),因为我一直以为你只使用了 this 关键字写闭包的时候。我已经四处寻找 in
的用途,但没有任何运气。
这里 in
的目的是什么,如果没有它,功能会有什么不同?
(如果您需要有关此功能如何工作的更多信息以便更好地解释自己,请告诉我。)
这里的in
关键字只是用来指定函数中的参数。在调用该函数时,您可以将其称为:
pickUpUser(in: rideOptionID)
如果 in
不存在,您必须将其命名为:
pickUpUser(rideOptionID: rideOptionID)
您可以通过 Swift Documentation 了解有关 Specifying Argument Labels
的更多详细信息
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
}
我一直在关注 Ray Wenderlich 的书 Advanced iOS App Architecture,他们有一个如下所示的协议:
protocol RideOptionDeterminedResponder {
func pickUpUser(in rideOptionID: RideOptionID)
}
我不明白 in
在 rideOptionID
参数之前的用法(顺便说一句,它只是 String 的类型别名),因为我一直以为你只使用了 this 关键字写闭包的时候。我已经四处寻找 in
的用途,但没有任何运气。
这里 in
的目的是什么,如果没有它,功能会有什么不同?
(如果您需要有关此功能如何工作的更多信息以便更好地解释自己,请告诉我。)
这里的in
关键字只是用来指定函数中的参数。在调用该函数时,您可以将其称为:
pickUpUser(in: rideOptionID)
如果 in
不存在,您必须将其命名为:
pickUpUser(rideOptionID: rideOptionID)
您可以通过 Swift Documentation 了解有关 Specifying Argument Labels
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
}