問題タブ [nscopying]

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 に答える
762 参照

objective-c - Objective-C で copyWithZone: をオーバーライドする

どうすればオーバーライドできるか教えてもらえますか-copyWithZone:

クラスメンバーとして NSString オブジェクト、 NSInteger オブジェクトが 1 つあると仮定します。

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

objective-c - Objective-c: ディクショナリ キーとしてのカスタム クラス インスタンスは、キーが存在する場合に nil を返します

辞書のキーとしてインスタンスを使用しているカスタム クラスがあります。nil問題は、キーが実際にディクショナリにあるときにカスタム インスタンス キーの 1 つを使用してディクショナリから値を要求することがある (常にではありません) ことです。カスタムオブジェクトを辞書キーとして使用する方法についてWebを見回しましたが、見つけたのは、NSCopyingプロトコルを実装する必要があるということだけです。

私のクラスは次のようになります。

次に、これらのいくつかを次のような変更可能な辞書に入れます。

今私がやりたいことは、辞書からキーと値のペアをポップすることです。そのため、次のようにします。

そして、ここで私は問題に遭遇します。 ほとんどの場合、これで問題なく動作します。ただし、 をobjectForKey:theKey返すこともありますnil。コードにブレークポイントを設定しましたが、theKey実際にtheDict.

ここで何が間違っていますか?

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

objective-c - NSCopying および NSObject に準拠するプロトコルのセレクター 'copy' の既知のインスタンス メソッドはありません

行の下のコードをコンパイルすると、id copiedData = [_localData copy];「セレクター 'コピー' の既知のインスタンス メソッドがありません」というコンパイラ エラーが発生します。それ_localDataがタイプid<IGTestClassData>でありIGTestClassData、両方に準拠している場合NSCopyingNSObjectなぜcopyメソッドがないのですか?

IGTestClass.h ファイル

IGTestClass.m ファイル

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

ios - Warning : "Sending 'NSObject *' to parameter of incompatible type 'id'

I am struck in this warning for many hours... Am getting

The code is,

Warning :

"Sending 'NSObject *' to parameter of incompatible type 'id'

Passing argument to parameter aKey here

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

ios - EKEvent をコピーする方法、または NSCopying プロトコルに準拠させる方法はありますか

EKEvent のインスタンスを保持していて、それをコピーしたいと考えています。しかし、EKEvent が NSCopying プロトコルに準拠していないことがわかったので、EKEvent にカテゴリを追加してこのプロトコルに準拠させようとしましたが、eventIdentifier は読み取り専用属性であるため、このメソッドは失敗しました。

そうする方法はありますか?

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

ios - MPMoviePlayerController を他のクラスにコピーする

私は次のシナリオを持っています

クラスに MPMovieController があり、正常に再生されています。ボタンをクリックすると、そのMPMovieControllerを他のクラスに移動し、そのクラスのビューに追加したいこのために、私はこれを行いました

問題は、その MPMovieController オブジェクトを他のクラス (otherclass ビューにサブビュー MPMoviePlayer オブジェクトのビューを追加) に追加するときに、最初のクラスから削除されることです。同じ参照を渡している可能性があります。したがって、MPMovieController のコピーを作成してから、元のオブジェクトを変更しないように 2 番目のクラスに渡したいと考えています。これどうやってするの。