Interface Builder を使用して作成した多数のカスタム テーブル セルとビューがあります。
インターフェイス ビルダーでは、すべてが同様に設定されます。テーブルセルといくつかの他のUILabelsと背景画像があります
nib が NSObject の場合はオブジェクトの所有者 テーブル セルのクラスは、テーブル セルのクラスの名前です
コードでテーブルセルを作成する方法は次のとおりです。
SectionedSwitchTableCell *cell = nil;
NSArray *nibs = [[NSBundle mainBundle] loadNibNamed:kSectionedSwitchTableCellIdentifier owner:owner options:nil];
for(id currentObject in nibs)
{
if([currentObject isKindOfClass:[SectionedSwitchTableCell class]])
{
cell = (SectionedSwitchTableCell *)currentObject;
break;
}
}
return cell;
私のカスタムテーブルヘッダーにはこれがあります
NSArray *nibs = [[NSBundle mainBundle] loadNibNamed:@"CustomTableHeader" owner:self options:nil];
for(id currentObject in nibs)
{
if([currentObject isKindOfClass:[CustomTableHeader class]])
{
return header
}
}
カスタム ビューの .h および .m ファイルでは、背景画像 UIImageView を除くすべてに IBOutlet と @property を設定しています。IBOutlet と @property を持つものはすべて @syntheized され、.m ファイルでリリースされます。
Leaks は、これらのカスタム ビュー オブジェクトを作成するときに CALayer でメモリ リークがあることを示しています。これらのカスタム ビュー オブジェクトを作成するとき、ここで何か間違ったことをしていますか? 私は、これらの漏れがどこから来ているのかを突き止めようとして、髪を引き裂いているようなものです.
補足として、これらのカスタム ビューで定義された UIImageView 背景画像がありますが、.h ファイルと .m ファイルでプロパティと IBOutlets を定義していません。それらを定義しても、リークを実行するときに違いはありませんが、正しいことをしているかどうかを確認したかっただけです。
どんな入力でも非常に役立ちます。ありがとう :)