【已解决】swift中如何写函数的指针类型的引用参数

【背景】

swift中需要把一个oc代码:

- (void)tabButtonPressed:(UIButton *)sender
{
  [self setSelectedIndex:sender.tag - TagOffset animated:YES];
}

改写为swift的函数,

结果不知道swift的函数的参数如何写。

s

之前也看到很多swift函数,比如:

public init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?)

public func canPerformUnwindSegueAction(action: Selector, fromViewController: UIViewController, withSender sender: AnyObject) -> Bool

但是觉得语法很是诡异,需要去研究才能看懂。

 

【解决过程】

1.搜:

swift function parameter

参考:

The Swift Programming Language (Swift 2): Functions

Swift from Scratch: Function Parameters, Types, and Nesting – Tuts+ Code Tutorial

搜:

swift function parameter reference

参考:

Does Swift have something like "ref" keyword that forces parameter to be passed by reference? – Stack Overflow

Swift: Pass array by reference? – Stack Overflow

Is Swift Pass By Value or Pass By Reference – Stack Overflow

去加上inout,写为:

    func tabButtonPressed(inout sender:UIButton) {
       
    }

就可以了。

 

【总结】

swift中的函数参数,表示引用参数,指针类型的变量,的话,用inout:

比如:

    func tabButtonPressed(inout sender:UIButton) {

    }

即可。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量