点击像所有的视图应该显示如同C

当我selectThrowback – >如果我点击button那样的描述发生像button改变不像和“像计数= 1099”增加。 如果我按回我希望这不像显示旁边显示在一个标签,并再次select回滚button应该显示不像和像计数应为1100.请帮助我如何实现这一目标?

在这里输入图像说明 在这里输入图像说明

//DetailOfUser.m

#impot"DetailsOfStories.h" @interface DetailOfUser ()<UITableViewDelegate,UITableViewDataSource> { 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]; 

更新:

如果你想更新你的故事viewcontroller从详细信息页面。 您可以在其viewWillAppear()委托中更新“像状态”一样。 你可以查看苹果官方文档的细节。