试图将简单的OBJC函数转换为Swift

时间:2014-09-16 19:25:56

标签: ios cocoa-touch swift

我在OBJ C中有一个简单的函数来创建一个随机数

+(NSString*)certRef
{

NSInteger rNumber = arc4random() % 100000000 + 1;
NSString *randomCertRef = [NSString stringWithFormat: @"%ld", (long)rNumber];

return randomCertRef;
}

现在我试图将其转换为Swift:

Class ToolsCustomFunctions

func randomNumber(theNumber: String){

    let rNumber = arc4random() % 100000000 + 1;
    let rNumberString = "\(rNumber)"
    println("THE RANDOM NUMBER IS: \(rNumberString)")

   return (theNumber)

}

上面给出了错误“字符串不能转换为()

然后我尝试在B类中访问它

    let rNumberFuction = ToolsCustomFunctions()
    //read randomised number string here//

包括println "the random number is \(rNumberFuction.randomNumber(theNumber: String))"在内的各种尝试导致无法通过编译器错误或零值访问/设置我的函数中的随机数

1 个答案:

答案 0 :(得分:3)

func randomNumber(theNumber: String) { ... }

是一个功能

  • 取一个参数(一个字符串)和
  • 什么都不返回(又名Void()

你想要的是一个功能

  • 没有参数,
  • 返回一个字符串

声明为

func randomNumber() -> String { ... }

返回值应为rNumberString,而不是theNumber