の状態に応じてタイトルテキストを変更したいloadView
20 を作成しています。UIButton
UIPageControl
NSArray
現在のページが変更されたときに呼び出されるイベントに読み込まれる保存前の plist がありarrChars
、ボタンのタイトルを配列から関連するテキスト タイトルに設定します。これを行うコードは次のとおりです。
for (int i = 1; i < (ButtonsPerPage + 1); i++) {
UIButton *uButton = (UIButton *)[self.view viewWithTag:i];
if(iPage == 1) {
iArrPos = (i - 1);
} else {
iArrPos = (iPage * ButtonsPerPage) + (i - 1);
}
[uButton setAlpha:0];
NSLog(@"Trying: %d of %d", iArrPos, [self.arrChars count]);
if (iArrPos >= [self.arrChars count]) {
[uButton setTitle: @"" forState: UIControlStateNormal];
} else {
NSString *value = [[NSString alloc] initWithFormat:@"%@", [self.arrChars objectAtIndex:iArrPos]];
NSLog(@"%@", value);
[uButton setTitle: [[NSString stringWithFormat:@"%@", value] forState: UIControlStateNormal];
[value release];
//////Have tried:
//////[uButton setTitle: value forState: UIControlStateNormal];
//////Have also tried:
//////[uButton setTitle: [self.arrChars objectAtIndex:iArrPos] forState: UIControlStateNormal];
//////Have also also tried:
//////[uButton setTitle: [[self.arrChars objectAtIndex:iArrPos] autorelease] forState: UIControlStateNormal];
}
[uButton setAlpha:1];
}
ボタンのタイトルを設定すると、前のタイトルが自動解放されていないように見え、割り当てがどんどん増えていきます。私は何を間違っていますか?
私が見る限り、Instruments でオブジェクトがリークしていないのに、メモリの警告が表示されるまで生きている割り当ての合計が上昇し続けるため、割り当てによって物事を追跡することはリークを追跡するための悪い方法であると以前に言われました。そこを追跡するためのより良い方法があれば、知りたいです。
アップデート
配列から取得した値を使用する代わりに、タイトルを @"Test" に設定したことを忘れていました。問題なく、ページを変更するたびに無限に増加することはありません。