問題タブ [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 に答える
414 参照

ios - NSCopying プロトコルが機能しない

オブジェクトをコピーしようとしていてNSCopying、次のようなプロトコルを実装しました。

これは私の実装ファイルがどのように見えるかです:

このメソッドを実装してコピーしようとすると:

私はまだエラーが発生しています:

*** キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。

クラスMyActivityは のサブクラスでRLMObjectあるため、それが問題と関係があるかどうかはわかりません。誰かが私を正しい方向に向けることができますか?

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

ios - NSCopying ではない ID キーを使用してデータを保存する方法

MKMapView何らかの意味で模倣するインターフェイスを実現する必要があります。具体的には、メソッドをサポートする必要があります

UIView内部的には、注釈をオブジェクト (null の場合もある)にマップするマッピングがあります。

では、これらの注釈と対応するビューをどのように保存すればよいでしょうか? 自然な選択は次のようになりますNSMutableDictionary

id<MyAnnotation>しかし、適合する保証がないため、機能しませんNSCopying

id<MyAnnotation>生のポインターに保存してから、そのポインターをNSNumber(に準拠する) に格納することを考えましたNSCopying。しかし、これが良いアイデアであり、安全に実装する方法はわかりません。

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

ios - Swift の NSMutableCopying に準拠していますか?

私の質問は簡単です:NSMutableCopying私自身の Swift クラスのプロトコルに準拠する最良の方法は何ですか (おそらくコードの説明付き)?

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

ios - [NSDictionary コピー] メソッドはどのように機能しますか?

内部の技術を知りたいだけです。

すべてのキー/値を列挙しますか、またはコピー メソッドはスレッド セーフですか?

バックグラウンド スレッドで [dict copy](dict は NSMutableDictionary です) を実行し、メイン スレッドで dict を更新すると、クラッシュしますか?

コード:

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

swift - レルム リストを作成できません適合NSコピー

List< T > を NSCopying に準拠させようとしています。できない理由:

  1. @objc は、ジェネリック クラスの拡張内ではサポートされていません。
  2. List は最終クラスなので継承できません。
  3. 「public func copy(with zone: NSZone? = nil) -> Any」を実装した場合、conform NSCopying をマークせずに実行します。エラーが表示されます:「...copyWithZone:]: 認識されないセレクターがインスタンスに送信されました」

したがって、List< T > には copy() がありますが、実際には使用できません。

現在、反復を使用して List< T > の外でコピーを作成する必要があります。単純に instanceOfList.copy() を使用することはできません。

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

objective-c - オブジェクトを渡すときのデータ損失

私はオブジェクトを持っています

このオブジェクトにデータを入力すると、それが成功し、すべてのプロパティが完全かつ正しく初期化されることがわかります。

ただし、このオブジェクトを次のように渡すと:

*これは別のクラスです (上記で定義した NSObject にはありません)。

question.nextQuestionquestion.previousQuestionですnil

このオブジェクトを渡すと、後続のオブジェクト (nextQuestion と previousQuestion) が nil になるのはなぜですか? オブジェクトが深いコピーではなく浅いコピーを行っているようですが、確かではありません。

私が知らない根本的な何かがあるようです。