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

0 投票する
7 に答える
21224 参照

objective-c - プロトコルとカテゴリ

Objective-Cのプロトコルカテゴリの違いを説明できる人はいますか? いつどちらを使用しますか?

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

java - プロトコルの@optionalセレクターをJavaインターフェースに移植する

だから、あなたがこれを持っているとしましょう:

そして両方bar:mux:副作用があります。

プロトコル(インターフェース)に@optionalメンバーなどがないJavaにどのように移植しますか?

私は3つの方法を考えることができます:

  1. Cの方法:どのメソッドが実装され有効であるかを表すビットフィールドを返すメソッドをインターフェイスに追加します。
  2. COMの方法:すべてのメソッドが結果コードを返し、E_NOTIMPLをチェックするようにインターフェイスを変更します。戻り値にはparamsを使用します。
  3. (私が想像しているのは)Javaの方法です。各インターフェイスメソッドをUnsupportedOperationExceptionをスローするものとしてマークし、それらをキャッチして、実装されていないメソッドをチェックします。

他の説得力のある選択肢を見逃しましたか?このコードが頻繁に呼び出されないため、パフォーマンスを最適化する必要がないと仮定すると、強制可能であるため、3が最良の方法であると思います。代替案についての議論はありますか?

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

objective-c - How to look for required methods in a protocol?

This is what I do. While looking up an apple documentation of protocol in Chrome or Xcode, I Cmd-F searching for "required". If result is zero, I conclude that all methods in that protocol are optional.

Am I doing it right? Or is there any "formal" way?

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

ios - MKAnnotationプロトコルに準拠しながら、その場でCLLocationCoordinate2Dを作成する

私はそれをプロトコルMyClassに準拠させています。ドキュメントMKAnnotationによると、インスタンスを返すプロパティを実装するにはクラスが必要です。私の最初の実装は次のようなものでした:coordinateCLLocationCoordinate2D

しかし、これは機能しませんでした。私がそれを呼び出すときはいつでも[self.mapView addAnnotation:instanceOfMyClass];、単に!のannotations配列に追加されませんでした。mapView

したがって、私にとっての解決策は、でインスタンス変数を定義し、_coordinate次のMyClassようなプロトコル準拠を実装することでした。

これでうまくいきました。したがって、ここでの質問は、インスタンス変数が必要であり、CLLocationCoordinate2Dオンザフライでの作成が機能しないのはなぜですか?

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

objective-c - NSFastEnumeration に準拠する任意のセットを列挙する方法

状況に応じて、NSArray または NSOrderedSet のいずれかになる可能性のある一連のオブジェクトを列挙しようとしています。どちらも NSFastEnumeration に準拠しているため、これが機能すると予想されます。

ただし、次のコンパイラ エラーが発生します。

セレクター 'objectEnumerator' の既知のインスタンス メソッドはありません。

ここに構文エラーがあると思われます。これまで id 構造をあまり扱ったことがありません。セットの 1 つまたは両方を共通のクラスに変換することもできますが、可能であれば、ここで何が起こっているのかをよりよく理解したいと考えています。

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

objective-c - Objective C クラス宣言の構文

Objective C のクラス宣言構文を理解するため、またはより具体的にするために、助けが必要です

UITableViewDataSource、UITableViewDelegate とはどういう意味ですか

私の理解では、クラスがインスタンス化されるときにこれら 2 つのオブジェクトを受け取るということです。間違っている場合は修正してください。

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

objective-c - デリゲートはメソッドを呼び出していません

だから私は質問があります。メソッドを呼び出す(プロトコル)ためのこのコード行の問題を誰かに教えてもらえますか

poploginはメソッド名であり、何らかの理由で機能しません。メソッドpoploginを呼び出さない

参考のために :

だから私はケースを説明させてください

だから私はクラスabc.hを持っているとしましょう

インターフェース後

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

objective-c - サブクラスは独自のプロトコルデリゲートを実装します

私はiOSを初めて使用しますが、これが可能かどうかはわかりません。

基本的に私には親と子の2つのクラスがあります。

親には、ParentProtocolに準拠するデリゲートがあります。ただし、Childのデリゲートは、ParentProtocolだけでなく、別のChildProtocolにも準拠しています。

それで、次のことを行うことは可能ですか?

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

objective-c - UIViewControllers のみがプロトコルに準拠できるようにする方法はありますか?

このようなことを行う方法はありますか (以下は機能しません):

「ElementPicker」を実装するオブジェクトはUIViewController?から継承する必要があります。

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

objective-c - プロトコルのリストへの準拠

ビュー コントローラーを 4 つのプロトコルのいずれかに準拠させたいという条件があります。

if で大量の or ステートメントを実行せずに、これら 4 つのプロトコルのいずれかに準拠しているかどうかを確認する方法はありますか?

プロトコルの配列を作成できますか?