Function Swift-函数返回的初始化属性

Function Swift-函数返回的初始化属性,function,swift,properties,declaration,Function,Swift,Properties,Declaration,我在另一个swift文件中有一个公共函数,它有返回值。我希望将这些返回值初始化为ViewController2中的属性 公共职能 public func calculateBoundary (inout f:[Float], s:[Float], n:NSInteger) -> (forceBound1:Float, forceBound2: Float, displacement:[Float]) 视图控制器2 我想在这里的ViewController2类中初始化CalculateB

我在另一个swift文件中有一个公共函数,它有返回值。我希望将这些返回值初始化为ViewController2中的属性

公共职能

public func calculateBoundary (inout f:[Float], s:[Float], n:NSInteger) -> (forceBound1:Float, forceBound2: Float, displacement:[Float]) 
视图控制器2

我想在这里的ViewController2类中初始化CalculateBondary函数返回值中的3个属性

    class ViewController2: UIViewController , UITableViewDelegate, UITableViewDataSource {

   // Values (f,s,n) are values that user input from another ViewController and then pass to this ViewController2.

// I'll then call the function _calcuateBoundary_ here, which passes the values (f,s,n) and then to calculate the return values here. 

    }

只需在
ViewController2
的初始值设定项中调用
CalculateBondary()
方法。这是一张草图:

  // public function - in any file
  func ret3 () -> (b1:Float, b2:Float, b3:Float) { 
      return (1, 2, 3) 
  } 

 // your `ViewController2`
 class VC2 { 
   var b1 : Float 
   var b2 : Float 
   var b3 : Float 
   init () { 
     (b1, b2, b3) = ret3()
   } 
 } 
这就是行动:

> var vc2 = VC2()
vc2: VC2 = {
  b1 = 1
  b2 = 2
  b3 = 3
}

我不明白第10行vc1:vc1={}它是做什么的?假设我的公共函数在另一个文件中,不在任何类中。答案有什么不同?输出来自Swift REPL。第10行是我创建
VC1
实例的地方。但是,我错过了你关于“公共函数”的陈述——我更新了我的答案。表达式错误解析为b1、b2、b3的未使用I值。为了让我的公共函数返回(b1,b2,b3)的值,函数必须接受(f,s,n),用户必须输入(f,s,n)的值,以便函数进行计算。我有这个错误,因为用户程序还没有接受(f,s,n)的值。是不是因为这个,这就是为什么这个解决方案对我不起作用的原因?我希望您能理解到目前为止…虽然这段代码可能是正确的和有用的,但是如果您在其中包含一些解释来解释代码是如何解决问题的,那就更好了。如果代码曾经停止工作(由于不相关的更改),并且用户需要了解它以前是如何工作的,那么这在将来变得特别有用。
var forceB1 : Float = 0.0
var forceB2 : Float = 0.0
var springD : [Float] = []

override func viewDidLoad() {

(forceB1,forceB2,springD) = calculateBoundary(&f1View2,f2View2, springDView2)

}