vendredi 10 juin 2016

How to set Index Path to a Button?


With the following code, I am trying to get the video likes count, I am getting the count in array and I want to set that to a button title all is working good.

I have a button action and with that, I am able to show the likes count on that button. But my problem is that, with this code, I am getting the same like count to all clips in table view, so I want to get particular like count for respective like button hit how would i do that.

// 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);
}

And this is how i am displaying like count on button

- (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];
  }

code for cellForRowAtIndexPath is below this code does not contain my any button code the button action likeButtonTapped is separate

    - (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;
    }

Aucun commentaire:

Enregistrer un commentaire