当前位置: 首页 > 知识库问答 >
问题:

如何重写这个类函数?

钮博裕
2023-03-14

我有一个扩展类,在这里我扩展了UIPutton,如下所示,它工作得很好。

extension UIButton {    
    class func backButtonTarget(_ target: Any, action: Selector) -> UIBarButtonItem {        
        let backButton = UIButton(frame: CGRect(x: CGFloat(0), y: CGFloat(0), width: CGFloat(58), height: CGFloat(15)))
        backButton.setTitle("Cancel",for: .normal)
        let barBackButtonItem = UIBarButtonItem(customView: backButton)
        backButton.addTarget(target, action: action, for: .touchUpInside)
        return barBackButtonItem
    }
}

但是现在,我需要为某个视图控制器更改它的标题,所以我想过它的重写,但是失败了。如何可以重写它,以便我可以更改它的标题

共有1个答案

东郭宏朗
2023-03-14

使title成为函数的string参数,这样您就可以调用它并提供自定义标题。

class func backButtonTarget(_ target: Any, action: Selector, title: String) -> UIBarButtonItem {
        let backButton = UIButton(frame: CGRect(x: 0, y: 0, width: 58, height: 15))
        backButton.setTitle(title, for: .normal)
        let barBackButtonItem = UIBarButtonItem(customView: backButton)
        backButton.addTarget(target, action: action, for: .touchUpInside)
        return barBackButtonItem
    }
}
 类似资料:
  • 目前我学习Springboot。 在这个代码中 我知道这是lambda表达式,但我没有得到原始代码。这不是我的代码。你能让我知道原始代码吗?

  • 场景: 这段代码不起作用,而且我找不到一种方法来调用一个像继承的那样的特性函数。我尝试调用、、、以及以下命令: 什么都不起作用。 是否有方法使其工作,或者我必须完全重写比这复杂得多的trait函数:)

  • 这是我的actionCreator代码,crud所有的代码都一样,只需要改一个 “getMovies" 这个名字,所以我想要把这个函数封装一下,每次只需要传入一个函数名字就行了。求大佬给封装一下?? 感谢

  • 在这里,有一个CCITT-CRC16的实现。对于那些避免链接,它是用C写的,如下所示: 我需要在CCITT-CRC16实现中找到的两个字段:和,所以我的问题是······用于更新CRC的整数值是什么意思?在我翻译的代码中,程序执行很多次,然后在再次调用之前更改,并且执行多次。假设我将所有这些逐一保存到一个名为的数组中。 所有这些字符产生的CRC是否会通过...调用? 另外,我必须为数组使用类型吗?

  • 我不知道这是否可能,但我会尽力解释。我遇到过一些代码,其中开箱即用的WSDL和XSD被修改,主要是为了有一个带有< code >的自定义XSD 将来,如果WSDL有任何更新,必须有人手动进入并修改XSD以满足我们的需求,并从更新的WSDL版本中获取新项目。 在四处搜索之后,似乎可以将多个模式导入到WSDL的<code>中 基本上,我想拉出修改后的更改,并将它们放在自己的,非常轻量级的XSD中,以减

  • 我尝试在我的项目中使用主干。但我在尝试跳过主干的解析方法时遇到了问题。服务器发回的数据超出了我的需要。例如:我想要的是: 但服务器的结果是: 所以我希望在parse方法中得到处理结果,并只返回数组。我该怎么做?当我尝试时,我犯了错误。我该怎么办?