問題タブ [unsafe-pointers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - Swift で再び AudioBufferList を使用する
Swift での AudioBufferList の使用に関する参照
ここスタック オーバーフローで、オーディオ ユニットでサウンドを再生するための次のソリューションを見つけました。ここでの問題は、正弦波データのように実際のデータをバッファに入れることができないことです。memcpy
の代わりに試してみましたmemset
が、これUnsafePointer
はかなり疲れます。
それで、誰かが実際のデータをバッファに入れる方法を明確にするつもりですか、それともObjective-Cの本を手に取って最初からやり直す必要がありますか?
swift - C char 配列 (安全でないポインター) を文字列に変換する
UnsafeMutablePointer<Character>
CoreFoundation メソッドで満たされています。
プレースホルダーでNSLog すると%s
、問題なく出力されます。
しかし、Swift で試してみるとprint
、メモリ アドレスが書き込まれるだけです。
ほとんどすべてを試しました...また、基になるmemory
プロパティにアクセスしようとすると、EXC_BAD_ACCESS
.
swift - 自分自身を UnsafeMutablePointer にキャストする方法素早く入力
次のコードを呼び出すときに、「自己」を迅速にC関数に渡そうとしています:
ここで「自己」を UnsafeMutablePointer 型にキャストする理想的な方法は何ですか?
swift - UnsafeMutablePointer を受け入れる関数からデータをデータ構造に読み込むにはどうすればよいですか?
でソケットからデータを読み取っていますNSInputStream
。これは、データが次のように UInt8 の配列に読み込まれる場合にうまく機能します。
ここでinputStream
はNSInputStream
で、read
メソッドの最初のパラメータはUnsafeMutablePointer<UInt8>
です。
message
私の質問は、以下のオブジェクトのように、入力データを UInt8 配列以外のデータ構造に読み込む方法です。
考えられることはすべて試しましたが、SO を検索しても運がありませんでした。どんな助けでも大歓迎です。
ios - Swift エラー: タイプ 'UnsafeMutablePointer' の非 inout 引数で使用される '&'
これから次のObjective-Cコード( source)を変換しようとしています
スウィフトに:
しかし、次の&ascent
行でエラーが発生しています。
タイプ「UnsafeMutablePointer」の非 inout 引数で使用される「&」
Xcode は、削除して修正することを提案しています&
。ただし、それを行うと、エラーが発生します
タイプ「CGFloat」の値を予期される引数タイプ「UnsafeMutablePointer」に変換できません
Interacting with C APIs ドキュメントでは構文が使用されて&
いるため、何が問題なのかわかりません。このエラーを修正するにはどうすればよいですか?
swift - UnsafePointerCGAffineTransform から
Swift で CGPath を作成しようとしています。を使用してCGPathCreateWithRect(rect, transformPointer)
います。
UnsafePointer<CGAffineTransform>
からを取得するにはどうすればよいCGAffineTransform
ですか? 私はこれを試しました:
私もこれを試しました:
しかし、Swift は'&' with non-inout argument of type...
. 私も&transform
直接渡そうとしましCGPathCreateWithRect
たが、同じエラーで停止します。
直接渡すとtransform
、Swift は「タイプ 'CGAffineTransform' の値を期待される引数タイプ 'UnsafePointer' に変換できません」。
何が起こっているのでしょうか? Swift 2.1 でこれを機能させるにはどうすればよいでしょうか?
arrays - UnsafePointer として迅速な配列を渡す方法関数の引数
UnsafePointer を期待する引数に迅速な変数/定数を渡すには、変数/定数の前に「inout」(アンパサンド) 記号を使用して実行できることを読みました。したがって、次のコードでは、'colors' 配列を「UnsafePointer」として関数 CGGradientCreateWithColorComponents() に渡したいのですが、コンパイラ エラーが発生します。
「& 型 UnsafePointer の inout 以外の引数で使用」
ビジュアルについては、下の画像を参照してください。
それで、問題は、迅速な配列「色」を UnsafePointer に変換するにはどうすればよいですか?
ありがとう
swift - Swiftで効率的にInt16データをメモリに書き込みますか?
OS XおよびiOSフレームワークヘッダーで次のように宣言されたメモリ参照mBuffers.mData(AudioUnit bufferListから)があります。
このポインタが参照するメモリに大量の Int16 値を書き込む効率的な方法は何ですか?
この Swift ソース コードの逆アセンブリ:
memset() 関数呼び出しを設定する多くの指示を示しています (私の someFastCalculation よりもはるかに多くの指示)。これはリアルタイム オーディオ コールバック内のループであるため、レイテンシとバッテリー消費を最小限に抑える効率的なコードが重要です。
もっと速い方法はありますか?
swift - Swift の最後の配列要素への UnsafePointer
vDSP_conv
Accelerate here で関数を使用しようとしています。への引数の 1 つは、vDSP_conv
「const float *__F
最後のベクター要素を指す必要がある」です。私は Swift でポインターを使用することにあまり慣れていないため、Swift 配列の最後の配列要素へのポインターを作成する方法がわかりません。
誰でも洞察を提供できますか?
/** 編集 **/
私が呼び出そうとしている関数仕様:
func vDSP_conv(_ __A: UnsafePointer<Float>, _ __IA: vDSP_Stride, _ __F: UnsafePointer<Float>, _ __IF: vDSP_Stride, _ __C: UnsafeMutablePointer<Float>, _ __IC: vDSP_Stride, _ __N: vDSP_Length, _ __P: vDSP_Length)
これまでのところ、私はこのコードを持っています。配列の最後から始まり、前に進むにつれて、配列y
の最後の要素へのポインタになる必要がありますconv