次のコードを使用して、UITableViewのいくつかの静的セルを更新しようとしています。
- (void) viewDidAppear:(BOOL)animated{
[self reloadTableData];
}
- (void) reloadTableData {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSIndexPath *path = [NSIndexPath indexPathForRow:0 inSection:8];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:path];
if ([[userDefaults objectForKey:@"canDeleteReceipts"] isEqualToString:@"0"])
{
cell.contentView.alpha = 0.2;
cell.userInteractionEnabled = NO;
}
else
{
cell.contentView.alpha = 1;
cell.userInteractionEnabled = YES;
}
path = [NSIndexPath indexPathForRow:1 inSection:8];
cell = [self.tableView cellForRowAtIndexPath:path];
if ([[userDefaults objectForKey:@"canDeleteMileages"] isEqualToString:@"0"])
{
cell.contentView.alpha = 0.2;
cell.userInteractionEnabled = NO;
}
else
{
cell.contentView.alpha = 1;
cell.userInteractionEnabled = YES;
}
path = [NSIndexPath indexPathForRow:2 inSection:8];
cell = [self.tableView cellForRowAtIndexPath:path];
if ([[userDefaults objectForKey:@"canDeleteAll"] isEqualToString:@"0"])
{
cell.contentView.alpha = 0.2;
cell.userInteractionEnabled = NO;
NSLog(@"%@", cell);
}
else
{
cell.contentView.alpha = 1;
cell.userInteractionEnabled = YES;
}
}
ただし、機能しません。コードは呼び出されますが、何もしません。ビューが表示されたときに上記のようなものを実現するために静的セルの属性を更新する方法を誰かが説明できますか?
NSLogステートメントは、セルがnullであることを示しています。
ありがとう
ジャック