NSUserDefaultsからロードされたオブジェクトが入力されたテーブルビューがあります。
具体的には、ユーザーが1つのView Controllerのボタンを押すと、文字列がNSUserDefaultsに読み込まれ、次に配列に読み込まれ、最終的にテーブルビューに入力されます。
NSUserDefaultsからロードされる文字列に応じて、各テーブルビューセルに画像をロードするにはどうすればよいですか?
NSUserDefaultsに画像を保存したくないのは、これは良い考えではないことを知っているからです。
私に何ができる?
お時間をいただきありがとうございます(そして初心者を助けてください)!
19FEB13を更新
NSUserDefaultsにロードしている文字列は、「ARCX」などのオブジェクトの名前です。
現時点では、さまざまなコードを試しましたが、誤解/知識不足(またはその両方)があるように思われる段階にあります。
UITableViewCell *XCell = [tableView cellForRowAtIndexPath:IndexPath];
NSString *content = Xcell.textLabel.text;
if ([content isEqualToString:@"ARCX"]) [UIImage *Image = [UIImage imageNamed @"ARCX.png"]];
明らかに、このコードからエラーが発生しています。
お役に立てば幸いです。
20FEB13を更新
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *string = [myOBJArray objectAtIndex:indexPath.row];
static NSString *CellIdentifier = @"XCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
UIView *cellbackground = [[UIView alloc] initWithFrame:CGRectZero];
cellbackground.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"MSP cell bg MK2.png"]];
cell. backgroundView = cellbackground;
}
cell.textLabel.textColor = [UIColor yellowColor ];
cell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:24.0];
cell.textLabel.text = string;
UITableViewCell *XCell = [tableView cellForRowAtIndexPath:indexPath];
NSString *content = XCell.textLabel.text;
if ([content isEqualToString:@"ARCX"]) [UIImage *Image = [UIImage imageNamed: @"ARCX.png" ]];
cell.imageView.image = Image;
return cell;
}
CellForRowAtIndexPathに最初に投稿したコードはありましたが、実装に何かが欠けていることはわかっています(明らかに機能しないためです!)。
御時間ありがとうございます!
2013年2月19日更新
Iこれは私の現在のCellForRowAtIndexPathです。エラーはありませんが、セルに画像はありません。私は何が欠けていますか?
画像ビューを追加する必要がありますか?現在、カスタムセルではなく、「基本」セルを使用しています。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *string = [myObjArray objectAtIndex:indexPath.row];
static NSString *CellIdentifier = @"MSCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
UIView *cellbackground = [[UIView alloc] initWithFrame:CGRectZero];
cellbackground.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"MSP cell bg MK2.png"]];
cell. backgroundView = cellbackground;
}
cell.textLabel.textColor = [UIColor blackColor ];
cell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:24.0];
cell.textLabel.text = string;
if ([string isEqualToString:@"ARCX"])
cell.imageView.image = [UIImage imageNamed: @"ARCX.png"];
else if ([string isEqualToString:@"WPX"])
cell.imageView.image = [UIImage imageNamed:@"WPX.png"];
return cell;
}
御時間ありがとうございます!