UISwitch改变对象解析目标c

Posted

技术标签:

【中文标题】UISwitch改变对象解析目标c【英文标题】:UISwitch changing object parse objective c 【发布时间】:2016-04-13 20:38:02 【问题描述】:

我正在开发一个应用程序,您可以在菜单上有货或缺货时更改该应用程序。

我现在有了它,所以它在加载屏幕时将UISwitch 更改为打开或关闭。我需要每个开关更改parse 中的NSString,使其变为一或零。一个表示它处于零状态,表示它关闭。

我对@9​​87654328@ 和parse 还很陌生,所以如果有人可以帮助我开始解决这个问题,那就太好了!

【问题讨论】:

Parse 确实有据可查。你看过这些吗? @Dancreek 我知道如何添加和删除对象 我不知道应该如何使用表格视图应用程序上的开关更改对象,因为每个单元格都有相同的按钮和相同的标签 你是如何用 Parse 的数据填充你的 UITableViewCell 的?正如@Dancreek 所指出的,Parse 有许多在线教程,展示了如何填充几乎任何类型的 ios 控件。你经历过这些吗? 仅供参考 - Parse 即将消失。您不应将其用于任何新项目。 @rmaddy 我在 AWS 上运行开源解析 【参考方案1】:

你可能会使用类似的东西:

PFQuery *query = [PFQuery queryWithClassName:@"YourClass"];
[query whereKey:@"user" equalTo:[PFUser currentUser]];
[query getFirstObjectInBackgroundWithBlock:^(PFObject * yourClass, NSError *error) 
  if (!error) 
    // Found yourClass object
    [yourClass setObject:isInStock forKey:@"isInStock"];

    // Save
    [yourClass saveInBackground];
   else 
    // Did not find any yourClass object for the current user
    NSLog(@"Error: %@", error);
  
];

【讨论】:

【参考方案2】:
NSArray *listObjects = .... (loading from Server) // List of PFObject

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

PFObject *object = [listObjects objectAtIndex:indexPath.row];

YourCell *cell = .....

if ([[object valueForKey:@"sandwichesOutofstock"] intValue] == 1)
   cell.switch.on = true;
else
  cell.switch.on = false;
cell.switch.tag = 500 + index.row;
[cell.switch addTarget:self action:@selector(switchTouch:) forControlEvents:UIControlEventTouchUpInside]
.........





(IBAction)switchTouch:(UISwitch *)switch
    long index = switch.tag - 500;
    PFObject *object = [listObjects objectAtIndex:index];
    if(switch.on)
        [object setValue:@"1" ForKey:@"sandwichesOutofstock"];
    else
        [object setValue:@"0" ForKey:@"sandwichesOutofstock"];
    
    [object saveInBackground];
    [self.tableView reloadRowsAtIndexPaths:[NSIndexPath indexPathForRow:index inSection:0] withRowAnimation:UITableViewRowAnimationNone];


【讨论】:

【参考方案3】:

您可以将 PFObject 的引用分配给单元格。然后,当开关更改时,只需获取单元格的对象并进行更改。

【讨论】:

以上是关于UISwitch改变对象解析目标c的主要内容,如果未能解决你的问题,请参考以下文章

UISwitch

使用 UISlider 作为 UISwitch(两个状态对象)

iOS开关按钮UISwitch控件

静态 UITableViewCell 中的 UISwitch 生成错误

AOP静态代理解析1-标签解析

如何以编程方式切换uiswitch按钮