点击像所有视图一样应该显示像目标C

当我选择Throwback – >如果我点击类似按钮时出现描述 ,则like按钮变为不同,并且“like count = 1099”增加。 如果我按回来我想要这个不同于Throwback旁边显示让我们说在标签中再次选择Throwback按钮应该显示不像和Count应该是1100.请帮助我怎样才能实现这一点?

在此处输入图像描述 在此处输入图像描述

//DetailOfUser.m

#impot"DetailsOfStories.h" @interface DetailOfUser () { NSMutableArray *arrayAboutList; DetailsOfStories *viewController; } - (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellIdentifier = @"cell"; UILabel *title=[(UILabel *)cell viewWithTag:2]; title.text=[NSString stringWithFormat:@"%@", [arrayAboutList[indexPath.row] valueForKey:@"title"]]; return cell; } -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ viewController=[self.storyboard instantiateViewControllerWithIdentifier:@"DetailsOfStories"]; viewController.descriptionList = [arrayAboutList[indexPath.row] mutableCopy]; [self.navigationController pushViewController:viewController animated:YES]; } @end 

//DetailsOfStories.m

 #import "DetailOfUser.h" @interface DetailsOfStories () { NSMutableArray *descriptionList; BOOL buttonToggled; int number,number1; NSNumber *num1; } @end @implementation DetailsOfStories @synthesize descriptionList; - (void)viewDidLoad { UILabel *like_count=(UILabel *)[self.view viewWithTag:3]; NSNumber *someNumber = @(number); NSString *someString = [someNumber stringValue]; like_count.text=someString; } - (IBAction)like:(id)sender { if (!buttonToggled) { [sender setTitle:@"Unlike" forState:UIControlStateNormal]; //number is interger number = [num1 intValue]+1; number1=number; UILabel *like_count=(UILabel *)[self.view viewWithTag:3]; NSNumber *someNumber = @(number); NSString *someString = [someNumber stringValue]; like_count.text=someString; buttonToggled = YES; } else { [sender setTitle:@"Like" forState:UIControlStateNormal]; number1 = number1-1; UILabel *like_count=(UILabel *)[self.view viewWithTag:3]; NSNumber *someNumber = @(number1); NSString *someString = [someNumber stringValue]; like_count.text=someString; buttonToggled = NO; } } 

您可以将“喜欢”的数字和状态封装到数据模型中。
您的控制器都可以访问和修改数据模型。 在这种情况下,数据模型可以是singleton ,因此您可以在控制器中获取它。
可能是您需要将数据同步到服务器或持久数据到本地存储以后,数据模型可以封装所有这些服务。

这是一些代码示例

 // YourDataModel @interface YourDataModel : NSObject @property (nonatomic, assign) NSNumber *numbersOfLike; @property (nonatomic, assign) BOOL like; @end @implemention + (id)shareInstance { static dispatch_once_t onceToken; static YourDataModel *model; dispatch_once(&onceToken, ^{ model = [[YourDataModel alloc] init]; }); return model; } // maybe sync data to backend server. - (void)sync { } // load like numbers from local storage or remote server - (instancetype)init { } // Then you can use it in your controllers [[YourDataModel shareInstance] like]; [[YourDataModel shareInstance] numbersOfLike]; [[YourDataModel shareInstance] setLike:false]; 

更新:

如果要从详细信息页面更新故事视图控制器。 您可以在viewWillAppear()委托中更新“like status”。 您可以查看Apple官方文档的详细信息。