2016-03-30 20 views
1

に「のCFString」タイプの値を変換できません、私はラインが期待される引数の型「UnsafePointer <Void>」(別名「UnsafePointer <()>」)

let runFont : CTFontRef = CFDictionaryGetValue(CTRunGetAttributes(run), kCTFontAttributeName) 

を定義するとき、私は、ビルドエラーを取得していますし、エラーは次のとおりです。期待される引数の型に型 'のCFString' の値を変換できません 'UnsafePointer'(別名 'UnsafePointer <()>')

+0

「UnsafePointer」エラーは、通常、影響を受けるパラメータがinoutポインタとして使用されることを意味します。 QuickHelpのドキュメントを読んだり、シンボルを⌥-クリックまたは⌘-クリックするか、⇧⌘0を押してメソッド名を入力してください。 – vadian

+0

こんにちは@vadian私はそれを解決する方法のコード例を教えてください。私はドキュメントを見て、多くの方法を試みますが、doesntの仕事を試みます:( –

答えて

5

let runFont = unsafeBitCast(CFDictionaryGetValue(CTRunGetAttributes(run), unsafeBitCast(kCTFontAttributeName, UnsafePointer<Void>.self)), CTFontRef.self) 
+0

ありがとう! –

0

をお試しください@vadian答えのSwift 3バージョン:

let runFont = unsafeBitCast(CFDictionaryGetValue(CTRunGetAttributes(run), unsafeBitCast(kCTFontAttributeName, to: UnsafeRawPointer.self)), to: CTFont.self) 
関連する問題