ちょうどペンから作成されたカスタムUITableViewCellsを使用する方法を示すApple docsから取得したコードを追加しました。私はiOS開発の初心者です。だから、私はまだ適切なメモリ管理について学んでいますし、コードは最初の仕組みについて私にはっきりと分かりません。 Allocationsを実行すると、以下のコードに未割り当てのメモリが表示されます。具体的には、iOS開発:このコードでメモリをどのように誤って管理していますか?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"MyCustomCellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"MyCustomCell_iPhone" owner:self options:nil]; //<--Allocations instrument complaining about this line
cell = customCell;
[self setCustomCell:nil];
}
return cell;
}
customCell
そう...
IBOutlet UITableViewCell *customCell;
@property (nonatomic, retain) IBOutlet UITableViewCell *customCell;
ように、このビューコントローラで定義されたインスタンスのVARは...ビューコントローラがNAVスタックからポップされた後UITableViewCells生き残る示します
このコードに問題はありますか?
あなたの知恵に感謝します。あなたのコードで
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil];
cell = tvCell;
self.tvCell = nil;
}
:
うまくいけば、customCellという@プロパティも定義されているといいですか? –
カスタムセルをIBOutletにする必要はありますか?あなたがカスタム販売をロードしようとしているのであれば、それをコンセントにする必要はありません。 – DerekH
DerekH、それは、ペン先がロードされたときにセルのハンドルを配線することができるように、コンセントにする必要があります。 –