MyObjects の NSArray があります。
配列の最後のオブジェクトを複製したい。つまり、最後のオブジェクトとまったく同じ配列に新しいオブジェクトを追加したいと考えています。
私が試した:
id object = [[self arrangedObjects] lastObject];
id newObject = [object copy];
しかし、コピー メソッドは NSObject に実装されていないため、使用できないことに気付きました。
MyObject クラスに copy メソッドを実装し、MyObject の新しいインスタンスを返し、次のようにコードを変更する必要があります。
MyObject object = [[self arrangedObjects] lastObject];
MyObject newObject = [object copy];
それとも他のソルトインはありますか?
UPDATE NSObjectのドキュメントから
NSObject 自体は NSCopying プロトコルをサポートしていません。サブクラスはプロトコルをサポートし、copyWithZone: メソッドを実装する必要があります。copyWithZone: メソッドのサブクラス バージョンは、サブクラスが NSObject から直接派生しない限り、最初にスーパーにメッセージを送信してその実装を組み込む必要があります。