【发布时间】:2016-10-11 10:15:06
【问题描述】:
使用以下代码,我正在尝试获取视频喜欢计数,我正在获取数组中的计数,并且我想将其设置为按钮标题,一切正常。
我有一个按钮操作,通过它,我可以在该按钮上显示喜欢计数。但我的问题是,使用这段代码,我对表格视图中的所有剪辑都获得了相同的点赞数,所以我想为相应的点赞按钮获得特别的点赞数,我该怎么做。
// here is how i am getting like count
- (void)getcat
{
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"ClipTable"];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"ClipTable" inManagedObjectContext:self.managedObjectContext];
fetchRequest.resultType = NSDictionaryResultType;
fetchRequest.propertiesToFetch = [NSArray arrayWithObject:[[entity propertiesByName] objectForKey:@"total_likes"]];
fetchRequest.returnsDistinctResults = YES;
NSArray *dictionaries = [self.managedObjectContext executeFetchRequest:fetchRequest error:nil];
NSLog (@"total_likes: %@",dictionaries);
[NSString stringWithFormat:@"%@",[dictionaries valueForKey:@"total_likes"]];
self.devices =[[NSMutableArray alloc]init];
self.devices=[dictionaries mutableCopy];
NSLog(@"cat1 is%@",self.devices);
}
这就是我显示按钮的方式
- (IBAction)likeButtonAction:(id)sender
{
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:[sender tag] inSection:0];
NSManagedObject *managedObject = [self.devices objectAtIndex:indexPath.row];
NSString *likes = [NSString stringWithFormat:@"%@",[managedObject valueForKey:@"total_likes"]];
[sender setTitle:likes forState:UIControlStateNormal];
}
cellForRowAtIndexPath 的代码在此代码下方,此代码不包含我的任何按钮代码,按钮操作 likeButtonTapped 是单独的
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath {
// Fetch Record
NSManagedObject *record = [self.fetchedResultsController objectAtIndexPath:indexPath];
//this button is different one
UIButton *btn=[[UIButton alloc]initWithFrame:CGRectMake(208,96, 100, 30)];
[btn addTarget:self action:@selector(yourButtonClicked:) forControlEvents:UIControlEventTouchUpInside]; btn.tag = indexPath.row;
[btn setImage:[UIImage imageNamed:@"btn-details.png"] forState:UIControlStateNormal];
[cell.contentView addSubview:btn];
NSLog(@"sender.tag cell is%ld ",(long)btn.tag);
}
see my debugger output
indexpath is0
2016-06-10 19:20:31.435 freejournlaist[4159:134867] indexpath is4
2016-06-10 19:20:31.436 freejournlaist[4159:134867] sender.tag cell is4
2016-06-10 19:20:33.351 freejournlaist[4159:134867] indexpath is5
2016-06-10 19:20:33.352 freejournlaist[4159:134867] sender.tag cell is5
2016-06-10 19:20:34.140 freejournlaist[4159:134867] indexpath is6
2016-06-10 19:20:34.141 freejournlaist[4159:134867] sender.tag cell is6
2016-06-10 19:20:35.506 freejournlaist[4159:134867] indexpath is7
2016-06-10 19:20:35.507 freejournlaist[4159:134867] sender.tag cell is7
2016-06-10 19:20:35.888 freejournlaist[4159:134867] indexpath is8
2016-06-10 19:20:35.889 freejournlaist[4159:134867] sender.tag cell is8
2016-06-10 19:20:36.139 freejournlaist[4159:134867] indexpath is9
2016-06-10 19:20:36.140 freejournlaist[4159:134867] sender.tag cell is9
2016-06-10 19:20:36.475 freejournlaist[4159:134867] indexpath is10
2016-06-10 19:20:36.476 freejournlaist[4159:134867] sender.tag cell is10
2016-06-10 19:20:38.201 freejournlaist[4159:134867] indexpath is6
2016-06-10 19:20:38.202 freejournlaist[4159:134867] sender.tag cell is6
2016-06-10 19:20:38.701 freejournlaist[4159:134867] indexpath is5
2016-06-10 19:20:38.702 freejournlaist[4159:134867] sender.tag cell is5
2016-06-10 19:20:39.267 freejournlaist[4159:134867] indexpath is4
2016-06-10 19:20:39.268 freejournlaist[4159:134867] sender.tag cell is4
2016-06-10 19:20:40.684 freejournlaist[4159:134867] indexpath is3
2016-06-10 19:20:40.685 freejournlaist[4159:134867] sender.tag cell is3
2016-06-10 19:20:40.837 freejournlaist[4159:134867] indexpath is2
2016-06-10 19:20:40.839 freejournlaist[4159:134867] sender.tag cell is2
2016-06-10 19:20:41.152 freejournlaist[4159:134867] indexpath is1
2016-06-10 19:20:41.153 freejournlaist[4159:134867] sender.tag cell is1
2016-06-10 19:20:41.952 freejournlaist[4159:134867] indexpath is0
2016-06-10 19:20:41.954 freejournlaist[4159:134867] sender.tag cell is0
2016-06-10 19:21:02.915 freejournlaist[4159:134867] indexpath is3
2016-06-10 19:21:02.916 freejournlaist[4159:134867] sender.tag cell is3
2016-06-10 19:55:38.055 freejournlaist[4326:144151] total_likes: (
{
"total_likes" = 1;
},
{
"total_likes" = 5;
},
{
"total_likes" = 2;
},
{
"total_likes" = 0;
},
{
"total_likes" = 4;
},
{
"total_likes" = 3;
},
{
"total_likes" = 6;
},
{
"total_likes" = 115;
}
)
2016-06-10 19:55:38.055 freejournlaist[4326:144151] cat1 is(
{
"total_likes" = 1;
},
{
"total_likes" = 5;
},
{
"total_likes" = 2;
},
{
"total_likes" = 0;
},
{
"total_likes" = 4;
},
{
"total_likes" = 3;
},
{
"total_likes" = 6;
},
{
"total_likes" = 115;
}
【问题讨论】:
-
你把这个按钮叫做ButtonAction
-
in a tabelView Custom Cell @Anbu.Karthik
-
NSLog
[sender tag]看看它给出了什么...... -
按钮和表格视图单元格之间的关系是什么?按钮是表格视图单元格的子视图吗?
-
@J.Hunter 不,它不是子视图......我已经在单元格中手动添加了一个按钮......并连接到我的班级并创建了 IBAction
标签: ios objective-c uitableview storyboard tableview