为什么调用双参数函数需要`.self`而调用单参数函数却不行?

时间:2016-08-25 19:23:43

标签: swift generics types

在此代码中:

func oneArg<T>(type: T.Type) {}

func twoArgs<T>(type: T.Type, string: String) {}

func example() {
    oneArg(Int)
    twoArgs(Int.self, string: "")
}

可以使用值oneArg来呼叫Int,而twoArgs必须使用值Int.self来调用type Int参数。

为什么需要Int.self而另一个需要 $(document).ready(function(){ var total = 0,rowtotal=0;; $('.products_tr').each(function(){ var quantity = parseInt($(this).find('.quantity').val()); var unitprice = parseFloat($(this).find('.unitprice').val()); var vat_percentage = parseFloat($(this).find('.vat_percentage').val()); rowtotal = (quantity * unitprice) * vat_percentage; $(this).find('.total').text(rowtotal); total+=rowtotal; }) });

以下是XCode中的内容:

正确的代码:

compiles

带有fixit建议的错误代码:

doesn't compile

0 个答案:

没有答案