私は 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;