![](/img/trans.png)
[英]How to pass NSTimeInterval value from swift to objective C through segue
[英]How to pass an Int value to an Objective C function from Swift?
我想將一個整數值從Swift傳遞給Objective C函數,以便在其中進行處理。
目標C函數定義為
(void)getAllDevices:(NSInteger *)limit :(NSInteger *)offset
Objective C函數是稱為DemoSDK的SDK的一部分。
我嘗試使用此函數調用從Swift傳遞值
我嘗試這樣做
DemoSDK.getAllDevices(10,10)
但是隨之而來的錯誤是
無法將Int類型的值轉換為UnsafeMutablePointer類型的預期參數
我對Objective C非常陌生,這絕對是一個業余問題。 我想向目標C函數發送一個int值,在這里我可以處理int值。 我該怎么做? 請幫忙。
參數不是要整數,而是要引用整數。 這是通過&
在Swift中實現的。
var limit = Int()
var offset = Int()
DemoSDK.getAllDevices(&limit, &offset)
有兩種類似但不同的方法可能會出錯。
通常的方法是
init(contentsOfURL url: NSURL, encoding enc: UInt) throws
encoding
參數采用NSStringEncoding
值來指定編碼,例如
let string = try? String(contentsOfURL:url, encoding:NSUTF8StringEncoding)
第二種方法通過傳遞一個指針作為usedEncoding
參數來從文件中檢索編碼。
init(contentsOfURL url: NSURL, usedEncoding enc: UnsafeMutablePointer<UInt>) throws
該文件說:
返回時,如果成功讀取url,則包含用於解釋數據的編碼。
這意味着您必須傳遞一個包含確定的文件編碼的指針。
var encoding : NSStringEncoding = 0 let string = try? String(contentsOfURL:url, usedEncoding:&encoding)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.