問題タブ [objective-c-protocol]
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.
objective-c - WebView の Scroll View を findBarContainer として使用すると、検索バーが表示されない
NSTextFinderClient プロトコルを実装する TextFinderController オブジェクトと、NSTextFinder の findBarContainer として設定された WebView の WebDynamicScrollBarsView (NSScrollView) があります。findBarVisible を YES に設定して、ScrollView で findBar を表示しようとすると、結果が表示されません。findBarContainer を設定した後でも、ScrollView の findBarView が null であることに気付きました。このコードを使用して、WebView から ScrollView を取得しています。これは Mac アプリケーションであり、iOS アプリケーションではありません。findBar を WebView に表示するにはどうすればよいですか?
objective-c - プロトコル オブジェクトには静的な保存期間がありますか?
メソッドに引数として渡す場合@protocol(SomeProtocol)
、結果のポインターは静的なストレージ期間を持つと見なすことができますか?
プロトコルがコンパイル時に .h ファイルで定義されていることを考えると、そのポインターはプログラムの存続期間全体で同じであり、ある意味で実行時に静的に安全にダビングできることを意味しますか?
objective-c - Objective-C でファクトリ メソッドを使用する場合のプロトコル準拠のチェック
私は最近、Objective-C でプロトコルを使用する方法を (Apple の公式ガイドを使用して) 学んでいますが、矛盾しているように思われるものを理解するのに苦労しています。ドキュメントには、次のように記載されています-
プロパティに必要なプロトコル準拠を指定すると、基本的なプロパティ クラスの型がジェネリックであっても、プロパティをプロトコルに準拠しないオブジェクトに設定しようとすると、コンパイラの警告が表示されます。
そこで、「XYZFakeProtocol」というプロトコルと、このプロトコルに準拠しない「XYZPerson」というクラスを作成して、これをテストします。次に、次のように XYZFakeProtocol に準拠することが期待される汎用クラス変数を初期化しようとします -
予想通り、XCode はエラーにフラグを立てます -
<
互換性のないタイプ「XYZPerson *」の式で「__strong id XYZFakeProtocol>」を初期化しています
ただし、同じことを行っても、インスタンスを手動で割り当てて初期化するのではなく、ファクトリ メソッドを使用すると、エラーは発生しません。私が使用したコードで、ファクトリ メソッドは「person:」です。
エラーはフラグされず、特に問題なのは、プロトコルで指定されたメソッドを呼び出したときに、そのメソッドが実際には非準拠クラスにない場合でもコンパイラ エラーが表示されないことです。これにより、プログラムがクラッシュします。
これは Xcode の問題ですか、それともファクトリ メソッドを使用した場合の予想される正しい結果ですか。実際のアプリケーションのコーディング?
参考までに、XYZPerson オブジェクトを作成して XYZPerson 変数に代入し、その変数をジェネリック型変数に代入すると、インスタンスが を使用して作成されたかどうかに関係なく、Xcode はクラスがプロトコルに準拠していないというエラーを正しくフラグ付けします。ファクトリメソッドまたは手動で初期化 -
ありがとう。
ios - conformsToProtocol メソッドと RespondsToSelector メソッドはいつ使用する必要がありますか?
conformsToProtocol および RespondsToSelector メソッドの使用は何ですか?
swift - @protocol( の置き換え)迅速に
私はNSXPCConnection
迅速に使用しようとしています。
したがって、この行:
次の行に置き換えることができます。
そして、この行:
次の行に置き換えることができます。
今、私は正しい置換を使用することについて混乱しています: <#Protocol#>
in swift、objective cでは: を使用して@protocol(StringModifing)
いましたが、swiftでは無知です:(