UISwitch改变对象解析目标c
Posted
技术标签:
【中文标题】UISwitch改变对象解析目标c【英文标题】:UISwitch changing object parse objective c 【发布时间】:2016-04-13 20:38:02 【问题描述】:我正在开发一个应用程序,您可以在菜单上有货或缺货时更改该应用程序。
我现在有了它,所以它在加载屏幕时将UISwitch
更改为打开或关闭。我需要每个开关更改parse
中的NSString
,使其变为一或零。一个表示它处于零状态,表示它关闭。
我对@987654328@ 和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的主要内容,如果未能解决你的问题,请参考以下文章
使用 UISlider 作为 UISwitch(两个状态对象)