問題タブ [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.

0 投票する
1 に答える
483 参照

swift - Swift で再び AudioBufferList を使用する

Swift での AudioBufferList の使用に関する参照

ここスタック オーバーフローで、オーディオ ユニットでサウンドを再生するための次のソリューションを見つけました。ここでの問題は、正弦波データのように実際のデータをバッファに入れることができないことです。memcpyの代わりに試してみましたmemsetが、これUnsafePointerはかなり疲れます。

それで、誰かが実際のデータをバッファに入れる方法を明確にするつもりですか、それともObjective-Cの本を手に取って最初からやり直す必要がありますか?

0 投票する
1 に答える
940 参照

swift - C char 配列 (安全でないポインター) を文字列に変換する

UnsafeMutablePointer<Character>CoreFoundation メソッドで満たされています。

プレースホルダーでNSLog すると%s、問題なく出力されます。

しかし、Swift で試してみるとprint、メモリ アドレスが書き込まれるだけです。

ほとんどすべてを試しました...また、基になるmemoryプロパティにアクセスしようとすると、EXC_BAD_ACCESS.

0 投票する
4 に答える
22880 参照

swift - 自分自身を UnsafeMutablePointer にキャストする方法素早く入力

次のコードを呼び出すときに、「自己」を迅速にC関数に渡そうとしています:

ここで「自己」を UnsafeMutablePointer 型にキャストする理想的な方法は何ですか?

0 投票する
0 に答える
204 参照

swift - UnsafeMutablePointer を受け入れる関数からデータをデータ構造に読み込むにはどうすればよいですか?

でソケットからデータを読み取っていますNSInputStream。これは、データが次のように UInt8 の配列に読み込まれる場合にうまく機能します。

ここでinputStreamNSInputStreamで、readメソッドの最初のパラメータはUnsafeMutablePointer<UInt8>です。

message私の質問は、以下のオブジェクトのように、入力データを UInt8 配列以外のデータ構造に読み込む方法です。

考えられることはすべて試しましたが、SO を検索しても運がありませんでした。どんな助けでも大歓迎です。

0 投票する
1 に答える
5303 参照

ios - Swift エラー: タイプ 'UnsafeMutablePointer' の非 inout 引数で使用される '&'

これから次のObjective-Cコード( source)を変換しようとしています

スウィフトに:

しかし、次の&ascent行でエラーが発生しています。

タイプ「UnsafeMutablePointer」の非 inout 引数で使用される「&」

Xcode は、削除して修正することを提案しています&。ただし、それを行うと、エラーが発生します

タイプ「CGFloat」の値を予期される引数タイプ「UnsafeMutablePointer」に変換できません

Interacting with C APIs ドキュメントでは構文が使用されて&いるため、何が問題なのかわかりません。このエラーを修正するにはどうすればよいですか?

0 投票する
2 に答える
4107 参照

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 でこれを機能させるにはどうすればよいでしょうか?

0 投票する
2 に答える
3518 参照

arrays - UnsafePointer として迅速な配列を渡す方法関数の引数

UnsafePointer を期待する引数に迅速な変数/定数を渡すには、変数/定数の前に「inout」(アンパサンド) 記号を使用して実行できることを読みました。したがって、次のコードでは、'colors' 配列を「UnsafePointer」として関数 CGGradientCreateWithColorComponents() に渡したいのですが、コンパイラ エラーが発生します。

「& 型 UnsafePointer の inout 以外の引数で使用」

ビジュアルについては、下の画像を参照してください。

それで、問題は、迅速な配列「色」を UnsafePointer に変換するにはどうすればよいですか?

ありがとう

ここに画像の説明を入力

0 投票する
1 に答える
202 参照

swift - Swiftで効率的にInt16データをメモリに書き込みますか?

OS XおよびiOSフレームワークヘッダーで次のように宣言されたメモリ参照mBuffers.mData(AudioUnit bufferListから)があります。

このポインタが参照するメモリに大量の Int16 値を書き込む効率的な方法は何ですか?

この Swift ソース コードの逆アセンブリ:

memset() 関数呼び出しを設定する多くの指示を示しています (私の someFastCalculation よりもはるかに多くの指示)。これはリアルタイム オーディオ コールバック内のループであるため、レイテンシとバッテリー消費を最小限に抑える効率的なコードが重要です。

もっと速い方法はありますか?

0 投票する
1 に答える
674 参照

swift - Swift の最後の配列要素への UnsafePointer

vDSP_convAccelerate here で関数を使用しようとしています。への引数の 1 つは、vDSP_convconst 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