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

objective-c - カテゴリやプロトコルではなく、通常のクラスの目的 C での前方宣言の例を誰でも挙げることができますか?

カテゴリやプロトコルではなく、通常のクラスの目的 C での前方宣言の例を誰でも挙げることができますか?

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

objective-c - クラス名の意味の後のシェブロンのステートメント

以下のコードのセクションでは、その<UIScrollViewDelegate>部分は正確に何を意味し、何をしますか?それは何のために使用される可能性が最も高く、削除された場合に何が起こる可能性が最も高いでしょうか?(理論的な例はどれでも良いです)

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

objective-c - クラスメソッドでの自己の使用

私はShareKitでこのコードに出くわしましselfたが、クラスメソッドで使用して、ライターが何を考えていたのかわかりません。警告があります: 'Class' を parameter type に送信する互換性のないポインター型id<FBSessionDelegate>これらの警告をクリーンアップして、後で問題になる可能性のある警告を確認したいと考えています。これを壊さないために何ができる/すべきですか?

これはSHKFacebook.mというファイルで、クラス名はSHKFacebookです。

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

objective-c - Objective C でキャストダウンする

NSManagedObjectと呼ばれるサブクラスがあるとMBManagedSquareMBManagedCircleます。MBManagedSquareMBManagedCircleメソッドを定義し、prepareFromDictionary:(NSDictionary*)dic両方の実装が異なります。

このコードがあるとします:

そのため、Core Data でのエンティティのタイプは、type文字列を介して動的に決定されます。だから私が知っているのは、それがNSManagedObject.

私がやりたいことはprepareFromDictionary:、適切なクラスのメソッドを呼び出すことです。

したがって、タイプが「MBManagedSquare」の場合、オブジェクトを にキャストしてからMBManagedSquare呼び出したい

私が試したことは次のとおりです。

しかし、予想される式エラーが発生します。これが可能かどうかはわかりません。どうすればいいですか?

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

ios - Xcode 5 iOS 7 での自動プロパティ合成の警告

iOS 7 SDK を使用する Xcode 5 で、次のような警告が表示されます。

iOS 6.1 SDK を使用する Xcode 4 では、この警告は表示されませんでした。何か案は?

これが私のコードです:

List.h

List.m

次の行に警告が表示されます。

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

ios - タイプ「ViewController」はプロトコル「UICollectionViewDataSource」に準拠していません

UIPickerControllerを使用してカメラを操作するチュートリアルに従っています。ただし、実装すると、プロトコルに準拠していないUICollectionViewDatsaSourceというエラーが表示されます。ViewControllerUICollectionViewDataSource

この問題を解決する方法について何か考えはありますか?

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

ios - オプションの複数引数のデリゲート メソッドを確認する

Newish から Swift へ。(a) デリゲートが設定されていて、(b) メソッドが実装されている場合に、オプションのデリゲート メソッドを呼び出すための最も簡潔で慣用的な構文を取得する方法に苦労しています。

?がこの役割を果たせることはわかっていますが (例: self.delegate.foo?())、複数の引数を持ち、キャプチャしたい値 (Bool) を返す ObjC デリゲート メソッドを呼び出そうとすると、構文を正しく取得するのが難しくなります (そして、 「メソッドが実装されていません」および「メソッドが実装され、false が返されました」)。

例を次に示します。この場合、MyDelegateProtocolオプションのメソッドがあります-myThing:argTwo:argThree:(Bool を返します)。

このスニペットはセマンティクスを正しくしているように見えますが、使用してrespondsToSelectorおり、非常におしゃべりです。より慣用的な方法で改善できますか?