

SwiftからObjective-Cのメソッドを呼ぶ時に、引数がポインタのポインタ「＊＊」の場合、どの様に呼べば良いでしょうか？


CC BY-SA 3.0
2015-02-06T02:40:46.107
6039
2015-02-07T05:03:41.063
8108
question
objective-c swift
SwiftからObjective-Cのメソッド呼び出し


iBooksで、無料で購読できる、Apple刊行の「[Using Swift with Cocoa and
Objective-C](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html#//apple_ref/doc/uid/TP40014216-CH8-XID_11)」（リンクは同内容のApple
Developのサイト）。  
この電子ブックの「Interacting with C APIs」→「Pointers」の項。

C Syntax: Type **  
Swift Syntax: AutoreleasingUnsafeMutablePointer<Type>

とあります。  
しかし、どういう処理をするかは、じっさいのプログラムコードを見ないと、なんともいえないところです。正直、私自身混乱して、まだよく理解できないままです。


CC BY-SA 3.0
2015-02-06T03:03:36.693
6041
2015-02-07T05:03:41.063
2015-02-07T05:03:41.063
7362
7362
6039
answer


たとえば

[code]

    -[NSData initWithContentsOfURL:(NSURL *)aURL
                           options:(NSDataReadingOptions)mask
                             error:(NSError **)errorPtr]
    
[/code]

これは

[code]

    let url: NSURL = // NSURL instance
    var error: NSError? = nil // var で宣言。オプショナルにする
    
    let data = NSData(contentsOfURL: url, options: .DataReadingMappedIfSafe, error: &error)
    
[/code]

のようになります


CC BY-SA 3.0
2015-02-06T07:59:54.667
6063
2015-02-06T07:59:54.667
2741
6039
answer