Swift:要传递的println值

时间:2015-08-02 11:41:15

标签: swift types

我只是对Swift中的println()方法感到好奇。我应该通过value: T。实际上,我可以在那里写:floatstringcharint,甚至是NSData。如何创建和实现这样的类型?

编辑:对于那些不了解我要求的人:value: T什么是 FileWriter writer = new FileWriter(outPutFile); br = new BufferedReader(new FileReader(csvFileToRead)); writer.append("["); while ((line = br.readLine()) != null) { String[] products = line.split(splitBy); writer.append(" {proximity__c= " + products[0] + " , longitude__c="+products[1] +" , latitude__c=" + products[2] + "},"); writer.append("\n"); } writer.append("]"); writer.flush(); writer.close(); 以及如何在我的职能中使用它?

3 个答案:

答案 0 :(得分:3)

T表示println接受任何类型的参数。

floatstringcharint等将转换为字符串。

对象(例如NSDataUIImage)将调用其description方法,并返回该方法。 NSData将为您提供数据的十六进制表示,而UIImage会打印有关图像的一些详细信息(宽度,高度等)。

如果您想打印自己定义的课程,则应考虑实施描述方法。否则你只需要获取类名和内存地址。

此外,您可以在字符串中嵌入任何类型的对象,并将其与println()结合使用:

let a = 7
let b = 6
let c = a * b

println("\(a) times \(b) is \(c)")
  // 7 times 6 is 42

答案 1 :(得分:1)

我举个例子。假设aFloatVar是Float类型的变量,并且您希望使用适当的提示编写它。这就是你要写的:

    println("The Value \(aFloatVar as Float)")

您也可以在同一行中使用两个变量。假设crd是CGPoint,并且您希望将其写为x和y。以下是您必须编写的代码:

    println("Coordinate X = \(crd.x as CGFloat) Y = \(crd.y as CGFloat) ")

这就是我知道你必须写的而不是Value:T in swift。

答案 2 :(得分:0)

我几乎可以肯定,在内部,它只是调用<style> @media (max-width: 600px) { #wego-searchbox { width: 100%; } } </style>

但是如果你想在你的方法中处理许多类型,你应该检查它是什么类型,并相应地处理它。