問題タブ [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 - プロトコルとカテゴリ
Objective-Cのプロトコルとカテゴリの違いを説明できる人はいますか? いつどちらを使用しますか?
java - プロトコルの@optionalセレクターをJavaインターフェースに移植する
だから、あなたがこれを持っているとしましょう:
そして両方bar:
とmux:
副作用があります。
プロトコル(インターフェース)に@optionalメンバーなどがないJavaにどのように移植しますか?
私は3つの方法を考えることができます:
- Cの方法:どのメソッドが実装され有効であるかを表すビットフィールドを返すメソッドをインターフェイスに追加します。
- COMの方法:すべてのメソッドが結果コードを返し、E_NOTIMPLをチェックするようにインターフェイスを変更します。戻り値にはparamsを使用します。
- (私が想像しているのは)Javaの方法です。各インターフェイスメソッドをUnsupportedOperationExceptionをスローするものとしてマークし、それらをキャッチして、実装されていないメソッドをチェックします。
他の説得力のある選択肢を見逃しましたか?このコードが頻繁に呼び出されないため、パフォーマンスを最適化する必要がないと仮定すると、強制可能であるため、3が最良の方法であると思います。代替案についての議論はありますか?
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?
ios - MKAnnotationプロトコルに準拠しながら、その場でCLLocationCoordinate2Dを作成する
私はそれをプロトコルMyClass
に準拠させています。ドキュメントMKAnnotation
によると、インスタンスを返すプロパティを実装するにはクラスが必要です。私の最初の実装は次のようなものでした:coordinate
CLLocationCoordinate2D
しかし、これは機能しませんでした。私がそれを呼び出すときはいつでも[self.mapView addAnnotation:instanceOfMyClass];
、単に!のannotations
配列に追加されませんでした。mapView
したがって、私にとっての解決策は、でインスタンス変数を定義し、_coordinate
次のMyClass
ようなプロトコル準拠を実装することでした。
これでうまくいきました。したがって、ここでの質問は、インスタンス変数が必要であり、CLLocationCoordinate2D
オンザフライでの作成が機能しないのはなぜですか?
objective-c - NSFastEnumeration に準拠する任意のセットを列挙する方法
状況に応じて、NSArray または NSOrderedSet のいずれかになる可能性のある一連のオブジェクトを列挙しようとしています。どちらも NSFastEnumeration に準拠しているため、これが機能すると予想されます。
ただし、次のコンパイラ エラーが発生します。
セレクター 'objectEnumerator' の既知のインスタンス メソッドはありません。
ここに構文エラーがあると思われます。これまで id 構造をあまり扱ったことがありません。セットの 1 つまたは両方を共通のクラスに変換することもできますが、可能であれば、ここで何が起こっているのかをよりよく理解したいと考えています。
objective-c - Objective C クラス宣言の構文
Objective C のクラス宣言構文を理解するため、またはより具体的にするために、助けが必要です
UITableViewDataSource、UITableViewDelegate とはどういう意味ですか
私の理解では、クラスがインスタンス化されるときにこれら 2 つのオブジェクトを受け取るということです。間違っている場合は修正してください。
objective-c - デリゲートはメソッドを呼び出していません
だから私は質問があります。メソッドを呼び出す(プロトコル)ためのこのコード行の問題を誰かに教えてもらえますか
poploginはメソッド名であり、何らかの理由で機能しません。メソッドpoploginを呼び出さない
参考のために :
だから私はケースを説明させてください
だから私はクラスabc.hを持っているとしましょう
インターフェース後
objective-c - サブクラスは独自のプロトコルデリゲートを実装します
私はiOSを初めて使用しますが、これが可能かどうかはわかりません。
基本的に私には親と子の2つのクラスがあります。
親には、ParentProtocolに準拠するデリゲートがあります。ただし、Childのデリゲートは、ParentProtocolだけでなく、別のChildProtocolにも準拠しています。
それで、次のことを行うことは可能ですか?
objective-c - UIViewControllers のみがプロトコルに準拠できるようにする方法はありますか?
このようなことを行う方法はありますか (以下は機能しません):
「ElementPicker」を実装するオブジェクトはUIViewController
?から継承する必要があります。
objective-c - プロトコルのリストへの準拠
ビュー コントローラーを 4 つのプロトコルのいずれかに準拠させたいという条件があります。
if で大量の or ステートメントを実行せずに、これら 4 つのプロトコルのいずれかに準拠しているかどうかを確認する方法はありますか?
プロトコルの配列を作成できますか?