問題タブ [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 投票する
2 に答える
6799 参照

swift - UnsafeMutablePointerスウィフト3で

SecItemCopyMatchingキーチェーンからデータを取得するためにキーチェーン ユーティリティ クラスを呼び出そうとしていますが、result引数の取得で問題が発生していますUnsafeMutablePointer<CFTypeRef?>

元のステートメント (Swift 2 で、Swift 3 に移行する前) は

.withMemoryReboundしかし Swift 3 では、メモリを表示するために呼び出す必要があります。Xcodeがあなたにやるように言ったことに基づいて、私はこれを試しました

それでもこれを行うと、エラーが発生します

UnsafePointer<_>タイプ ' ' の値を予期される引数タイプ ' ' にUnsafeMutablePointer<CFTypeRef?>?変換できません

だから、CFTypeRef代わりに使ってみたData

に置き換えるUnsafePointer($0)だけ$0で、同じエラー メッセージが表示されます。

UnsafeMutablePointer<CFTypeRef?>キーチェーンからデータを取得するにはどうすればよいですか?

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

swift - 'init' は使用できません: 'withMemoryRebound(to:capacity:_)' を使用してください

Swift3 に続いて、 でエラーが発生していUnsafePointerます。ただし、デバッガーが提案する解決策は、何かを行うのに十分明確ではありません。

Swift の SQLite プロジェクトの UnsafePointerUnsafePointerに関する以前の質問で問題が提起されたことは知っていますが、その回答をこの問題に関連付けるのに苦労しています。

エラー:

コード:

誰もそれを修正する方法を知っていますか?

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

ios - UnsafeMutablePointers を UnsafeMutableRawPointers にキャストする

Swift 3.0 にアップデートする際にいくつかの問題があります。次のコードがあります。

私の最初の問題は、次のコード行にあります。

mutableData!.mutableBytes は UnsafeMutableRawPointer を返すようになり、コンパイラは「タイプ '(UnsafeMutableRawPointer)' の引数でタイプ 'UnsafeMutablePointer<_> の初期化子を呼び出せません」と不平を言います。失敗。

私の2番目の問題は、次の行にあります。

この行により、「'init' の使用があいまいです」というコンパイラ エラーが発生します。

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

xcode - Xcode 8 (Swift 3) では、UnsafeMutablePointer<_> とはどういう意味ですか?

次のコード:

次のエラーが発生します。

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

UnsafeMutablePointer<__> とは何ですか? また、どのようにキャストすればよいですか? 考えられるすべてのキャスティングのバリエーションを試しましたが、それぞれについて理解できない診断結果が得られ、アイデアが尽きてしまいました。さまざまな UnsafeMutablePointer 型に関するドキュメントは役に立たず、'<_>' についてはまったく言及されていません。

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

c - Swift で C を使用する - strlcpy - タイプ 'UnsafeMutablePointer<_>' の値を変換できません

Swift 3.0 で strlcpy を使用しようとしていますが、「タイプ 'UnsafeMutablePointer<_>' の値を予期される引数タイプ 'UnsafeMutablePointer!' に変換できません!」というエラーが表示され続けます。

これが私のコードです

ここで、VidyoClientInEventLogIn は次のとおりです。

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

swift3 - swift 3 CFArrayCreate の使用方法

配列から CFArray を作成したい

以前はSwift 2で、これを行うことができました:

Swift 3 では、CFArrayCreate がUnsafeMutablePointer<UnsafeRawPointer?>!2 番目のパラメータとして期待されています

私がそれをやろうとした1つの方法は次のとおりです:

ただし、これは [0, 1, 2, 3] の代わりに [rawPointer の値、ガベージ、ガベージ、ガベージ] の要素を持つ CFArray を作成します。

UnsafeMutablePointer<UnsafeRawPointer?>!このパラメーターを配列から作成するにはどうすればよいですか?

0 投票する
3 に答える
20198 参照

ios - UnsafePointerSwift 3 の初期化子

Swift 3 がリリースされてから廃止されたレシート検証クラスがあります。いくつかの問題を修正しましたが、まだ多くの問題があります...

私が使用した GitHub ソース コードは次のとおりです

  1. 最初のエラー:

    /li>

コンパイラのスロー: UnsafeRawPointer 型の引数リストを使用して UnsafePointer(UInt8) 型の初期化子を呼び出すことはできません

  1. 2 番目のエラー

    /li>

二項演算子 < は 2 つの UnsafePointer(UInt8) オペランドに適用できません

よろしくお願いします:)

編集

LinShiwei の回答のおかげで、UnsafePointer 宣言の解決策が見つかりました。コンパイルされますが、まだテストされていません(他のエラーによりテストが回避されるため):

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

swift - UnsafePointer を渡す方法参照によって C API に?

C API とやり取りする Swift 2.2 コードをいくつか書きましたがOpenSSL、現在はそれを Swift 3 に変換しようとしています。

スイフト2では

Swift 3 では、いくつかの変更を加える必要がありました

残念ながら、次のエラーのため、参照渡しできなくなりptrましASN1_get_objectた。

そして、残りのエラーは切り取られます (展開矢印はありません)。

私が試したこと:

  • ptr割り当てをに変更しますが、既存の割り当てが既にオプションを生成しUnsafePointer<UInt8>(octets.pointee.data)?ていると言われます
  • をに変更しUnsafePointerましたUnsafeMutablePointer

ここで何を変更する必要がありますか?

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

swift3 - NSUUID を UnsafePointer に変換する

Swift 3 への更新に続いて、それは両方とも表示getUUIDBytesされ、オブジェクトgetBytesでは使用できません。UUID

getBytesドキュメントにUUIDのメソッドとしてリストされている場合でも、このエラーが発生します: https://developer.apple.com/reference/foundation/nsuuid/1411420-getbytes

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

ios - 配列を UnsafeMutablePointer に変換する方法スイフト3.0?

以前のバージョンの Swift で実行可能なコードは次のとおりです。

UnsafeMutablePointer<UnsafeRawPointer?>Swift 3.0 の変更後、 CFDictionary を作成するためにキーと値の配列を変換する必要があります。

こちらです:

Bad Access エラーが発生します。

そしてドキュメントを読んだ後、私はこのコードをコンパイルしようとしています:

しかし、エラー Generic parameter 'Instance' could not be inferredが行Unmanaged.passUnretained( array ).toOpaque()に表示されます

プログラムで CFDictionary を作成する方法がわかりません。