0
NSCellのサブクラスを作成し、setObjectValue関数をオーバーライドして、need.Thingsはリークの問題がある以外は問題ありません。 NSCellのsetObjectValue関数は、元のオブジェクトを解放しないようです。 Iクラスを与えるNSTableViewのCocoaカスタムセル:NSCellのサブクラス化リーク
オブジェクトがNSCopyingプロトコルに準拠し、
- (void)setObjectValue:(id <NSCopying>)object {
// I tried to use [[self objectValue] release]; here but the app crashed
[super setObjectValue:object];
//---- other iniatizlize here ---
}
以下のようcopyWithZone機能を実現カスタマイズ対象です。
私は同じ問題を発見しましたhere。答えはありませんが、自分の状況をよりよく分かるかもしれません。
あなたはコピー方法から 'autorelease'値を返すべきではありません! – Richard
もう一つの問題は、最初に同じ**ポインタ値**に 'self.myImage'を持つアクセサの' newCopy.myImage'を使用していることです。あなたがしたいのは、直接ポインタへのアクセスです: 'newCopy-> myImage = nil; newCopy.myImage = self.myImage; 'それ以外の場合、' newImage'はコピーを作成しようとすると 'newImage'を' release 'します。 – Richard