私は iPhone アプリケーションに取り組んでおり、タイプのメソッドから値を抽出しました_bridge const void *
。しかし、この値を type に変換する必要がありますNSString
。
クラシック キャストでは効果がないことがわかりました。
valueNSString = (NSString *) valueConstVoid
私は iPhone アプリケーションに取り組んでおり、タイプのメソッドから値を抽出しました_bridge const void *
。しかし、この値を type に変換する必要がありますNSString
。
クラシック キャストでは効果がないことがわかりました。
valueNSString = (NSString *) valueConstVoid
おそらく、最初に NSData にブリッジしてから、適切なコンストラクターを使用して NSString に変換することができます。
ここにあるのは void へのポインタです。void へのポインターは、物理オブジェクト (またはバイト シーケンス) 表現が開始されるメモリ内の場所です。それが何であるかはわかりませんが、それが問題です。キャストは、特定の型ポインターの単なる割り当てです。つまり、型付きポインターを使用すると、特定のプロパティがどこにあり、実際の物理表現がどこで終了するかを知ることができます。これを試してみましょう。value
割り当て後の行でデバッガーを停止po value
し、デバッガーを入力します。プリントアウトとして表示されるものを教えてください。
(__bridge const void*)
型ではなくキャストです。したがって、値はおそらく typeconst void *
です。へのポインタであることが確実な場合はNSString
、次のようにキャストできます。
const void *value;
NSString *stringValue = (__bridge NSString *)value;