我是 iOS 编程的新手(但我已经完成了我的作业......浏览了有关 iOS 和谷歌教程的书籍)。我正在尝试这样做:
用户在文本字段中输入一些文本,并选择一个表情符号。
然后我将用户输入文本添加到 UITableViewCell 并将单元格添加到 UITableView。
问题 :
比如说,用户输入一些文本并选择“快乐”表情符号。
表情符号和文本在 UITableView 中得到更新。这没问题。
接下来,用户输入一些其他文本,并选择“悲伤”表情符号。
问题是:前一个单元格中的表情符号(它是一个快乐的表情符号)也变为“悲伤”;但我不希望以前的单元格更改。
@synthesize table;
@synthesize buttonEmotionHappy;
@synthesize buttonEmotionLaugh;
int myEmoticonNum;
/**
* Called when the button's pressed
* sender : the button which's pressed, consequently invoking this
*/
-(IBAction)buttonPressed:(id)sender {
NSLog(@"Button Pressed");
[self addToInputArray:[textFieldUserInput text]];
[table reloadData];
textFieldUserInput.text = @"";
}
-(IBAction)emotionExpressed:(id)sender {
if (sender == buttonEmotionHappy) {
NSLog(@"Happy emoticon chosen");
myEmoticonNum = 1;
} else if (sender == buttonEmotionSad) {
NSLog(@"Sad emoticon chosen");
myEmoticonNum = 2;
}
}
...
...
...
...
#pragma mark -
#pragma mark Table View Data Source Methods
-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.arrayInput count];
}
-(UITableViewCell *) tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:SimpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:SimpleTableIdentifier];
}
if (myEmotionNum == 1) {
cell.imageView.image = [UIImage imageNamed:@"SmileyHappy.png"];
} else if (myEmotionNum == 2) {
cell.imageView.image = [UIImage imageNamed:@"SmileySad.png"];
}
NSUInteger row = [indexPath row];
cell.textLabel.text = [arrayInput objectAtIndex:row];
return cell;
}
-(void) addToInputArray: (NSString *)userInput {
[arrayInput insertObject:userInput atIndex:0];
NSLog(@"Added %@ to User-Input-Array", userInput);
}
谢谢,普里亚