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

iphone - copyWithZoneの問題

次の手順でUIViewControllerサブクラスのコピーを作成しようとしています。

そして私は次のエラーがあります:

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

ios - UILocalNotification - 変更可能なコピー

概要:

  • のインスタンスをコピーしUILocalNotificationて、新しく作成したインスタンスに変更を加えています
  • 次に、新しく作成されたインスタンスをスケジュールしますUILocalNotification

コピー方法

  • UILocalNotificationメソッドを呼び出してのインスタンスをコピーしていますcopy

質問

  1. 私は正しいことをしていますか、それとも別の方法を使用して変更可能なコピーを作成する必要がありますか。(mutableCopyは実装されていませんUILocalNotification
  2. copy は実際に変更可能な copy を実行しますか?
  3. コピーを作成する必要がありますscheduleLocalNotification:か? とにかく新しいコピーを作成しますか?
0 投票する
2 に答える
3660 参照

iphone - uiviewのコピーを作成する方法(元のuiviewへのポインターではありません)

のコピーを作成したいのですが、多くのビューのコピーを頻繁に作成していて、使用が遅いためUIView、使用したくありません。NSKeyedArchiverNSKeyedArchiver

copyまたはについて聞いたinitWithZone:が、グーグルで検索すると、それは良くないことがわかったUIView。元のビューを指すコピーは必要ありません。元のビューに変更を加えると、コピーされたビューにも変更が加えられるためUIViewです。

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

objective-c - これは NSMutableCopying を実装するための合理的なパターンですか?

不変のオブジェクトのセットがあるため、インターフェイスを実装しようとしていNSMutableCopyingますが、変更されたコピーを作成できる必要もあります。次のように定義されたムービーがあるとします (もちろん、実際にはもっと多くのプロパティがあります)。

私が読んだことから、ここで実装するように、コンストラクターの外部で ivar を設定する必要がある場合は、NSCopyingプライベート セッターを定義することをお勧めします。したがって、次のような実装になりますBBMovie(これらの型はサブクラス化を許可するように設計されていないことに注意してください):

さて、実装にはプロパティのゲッターとセッターの両方があることがわかっているので、次のように簡単BBMovieに実装できるはずです。BBMutableMovie

このアプローチに問題はありますか、または何か不足していますか?

もちろん、BBMovie の実装は、ライブラリのコンシューマによって送信された場合に設定されたメッセージに応答するため、真に不変ではないことは理解していますが、セキュリティ リスクを示さず、ライブラリの「通常」の使用範囲外。

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

memory - NSMutableArrayオブジェクトの取得と変更に関する問題

NSObjectからサブクラス化したクラスのカスタムオブジェクトの配列であるorganisationsと呼ばれるNSMutableArrayがあります。このサブクラスはNSXOrganisation呼ばれます。このサブクラスは、次のようにNSCopyを実装します。

今、私は次のように配列を割り当てて初期化します:

これはすべて正常に機能します。テストのために、配列には2つのオブジェクトが含まれています。

次に、メソッドが呼び出されると、次のように配列内のオブジェクトを更新します。

ここで、 tfPropertyOne *はディスプレイ上のNSTextFieldです(適切にバインドされているなど)。NSLogでテストしたところ、正しい結果が出力されるため、これも正常に機能します。次に、配列内の別のインデックスでdisplayメソッドを呼び出して、関連する詳細を表示します。

indexはローカルNSIntegerであり、問​​題ではありません。次に、このオブジェクトに対して同じupdateメソッドを呼び出します。これは、明らかに正常に機能します(NSLogを使用してテストします)。

最後に、戻って配列[self displayOrganisation:0]の最初のオブジェクトを表示するために呼び出しを行うと、呼び出しは正常に機能しますが、 getPropertyOneを呼び出すとアプリがクラッシュします。

これは、Macコンソールのエラーです。

そして、これはクラッシュレポートからのものです:

誰か助けてもらえますか?オブジェクトにアクセス/作成/配列に誤って保存していますか?

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

ios - iOSでは、NSString = NSStringによってメモリリークが発生しますか?

私はいくつかの答えを見てきましたが、それらは十分に拡張されておらず、ARCが導入される前のものだったと思います。

したがって、2つのNSSstringがある場合、設定できますか

また

メモリリークやその他の問題を引き起こすことなく?

編集:(コピー、非アトミック)に設定されたビューコントローラまたはデリゲートプロパティはどうですか?

Edit2:NSString * al =@"String"である必要があります。これが漏れないという考えを変えないことを願っています。

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

objective-c - 「-copy」と「-copyWithZone:」の違いは何ですか?

copyがオブジェクトの不変コピーを作成することは知っていますが、copywithzoneがどのように機能するか、およびcopyとcopywithzoneの基本的な違いは何ですか。

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

ios - タイプ「id」のパラメーターに「クラス」を送信する互換性のないポインタータイプ'

xcode を更新しましたが、互換性のないポインター タイプが「クラス」をタイプ「id」のパラメーターに送信していますというエラー メッセージが表示されるようになりました

p>

私が抱えているこの問題と、それを解決する方法について誰かが光を当てることができれば、本当に感謝しています。

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

objective-c - NSCopyingとObjective-Cのメモリ管理

送信者によって暗黙的に保持されているオブジェクトを返すAppleのNSCopyingドキュメントの状態。copyWithZone:したがって、そのオブジェクトがに追加されると、保持カウントのバランスを保つためにオブジェクトにメッセージをNSMutableArray送信する必要があるようです(配列はオブジェクトを保持するため)。autorelease

したがって、ある配列の内容を別の配列にディープコピーするには、次のようなものが必要です。

しかし、私はこの回答で別のアプローチに気づきました。[ret addObject:[val copy]]メモリリークのようです。ただし、私はまったく新しいNSCopyingので、質問したいと思いました。コピーしたオブジェクトを配列に追加する場合、保持カウントのバランスを保つために、オブジェクトに自動解放メッセージを送信する必要がありますか?

編集-詳細:Clangは、自動解放を削除した後、潜在的なメモリリークを報告します。おそらく、リンクされた回答は、送信者によって暗黙的に保持されていないcopyオブジェクトを返すことを前提としています。

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

objective-c - NSCoding VS NSCopying

低レベルでのNSCodingとNSCopyingの本当の違いは何ですか?

また、それらは独立して、一緒に使用されることになっていますか、それともいつ使用するのが良いですか?