所以我想说我有一个名为Math的课程
class Math{
func add(numberOne: Int, numberTwo: Int) -> Int{
var answer: Int = numberOne + numberTwo
return answer
}
在这个课程中,有一个功能允许用户添加两个数字。
我现在有另一个类,它是UIViewController的子类,我想使用Math类的add函数,我该怎么做?
class myViewController: UIViewController{
//Math.add()???
}
答案 0 :(得分:20)
如果您希望能够说Math.add(...)
,则需要使用类方法 - 只需在class
之前添加func
:
class Math{
class func add(numberOne: Int, numberTwo: Int) -> Int{
var answer: Int = numberOne + numberTwo
return answer
}
}
然后你可以从另一个Swift类中调用它:
Math.add(40, numberTwo: 2)
将其分配给变量i
:
let i = Math.add(40, numberTwo: 2) // -> 42
答案 1 :(得分:3)
在class
函数之前使用add
关键字使其成为类函数。
您可以使用
class Math{
class func add(numberOne: Int, numberTwo: Int) -> Int{
var answer: Int = numberOne + numberTwo
return answer
}
}
class myViewController: UIViewController{
//Math.add()???
//call it with class `Math`
var abc = Math.add(2,numberTwo:3)
}
var controller = myViewController()
controller.abc //prints 5
此代码来自playgound。您可以从任何类调用。
答案 2 :(得分:0)
Swift 4:
class LoginViewController: UIViewController {
//class method
@objc func addPasswordPage(){
//local method
add(asChildViewController: passwordViewController)
}
func add(asChildViewController viewController: UIViewController){
addChildViewController(viewController)
}
}
class UsernameViewController: UIViewController {
let login = LoginViewController()
override func viewDidLoad() {
super.viewDidLoad()
//call login class method
login.addPasswordPage()
}
}