2015-06-01 62 views
0

我有一個Objective-C函數,我們將其稱爲foo,以便對其他人有用。在Swift中使用Objective-C函數,該函數接受變量的引用

something a //Define variable a as a 'something' type 
[foo:&a] 

我該如何將此翻譯成swift?

+2

什麼是'something' ?標量類型,結構體,聯合體,類,...? 'foo'是什麼?該方法如何聲明?它修改引用的元素嗎? - 一個具體的編譯示例會很有幫助。 –

+0

模糊不清。 'a'是SDK中的一個類,它也是sdk的一部分,在這種情況下,會返回一個包含錯誤代碼的已修改類對象。 –

回答

1

在急速的,如果你想通過引用傳遞使用inout符號在函數定義

func test(inout a : Double) { 
    //do something 
} 

var d : Double = 3.5 
test(&d) 

如果你指的是使用功能直接,你會使用相同的&variable註釋您在其他地方使用

所以,你只需調用foo(&var)

0

如果something是一個類的實例,它通過引用自動傳遞,當你做:

foo(a) 

如果something是一個結構的一個實例,它傳遞的是副本,你不應該不要試圖通過它的地址。相反使something一類。