首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NSRuleEditor显示保存的条件时遇到问题

使用NSRuleEditor显示保存的条件时遇到问题
EN

Stack Overflow用户
提问于 2019-04-15 19:59:46
回答 1查看 37关注 0票数 0

我为用户设置了一个NSRuleEditor来编辑规则来过滤数组,我可以让用户编辑规则,但我找不到一种方法来显示我为用户保存的规则,有人有什么想法吗?

我为每一行准备了规则,并从委托方法返回,当用户单击"+“按钮时,新规则就会像我预期的那样出现

代码语言:javascript
复制
#pragma mark - NSRuleEditorDelegate

- (NSInteger)ruleEditor:(NSRuleEditor *)editor numberOfChildrenForCriterion:(nullable id)criterion withRowType:(NSRuleEditorRowType)rowType {
    RuleCriterion *ruleCriterion = criterion;

    if (rowType == NSRuleEditorRowTypeCompound) {
        if (ruleCriterion == nil) {
            return self.compoundCriteria.count;
        } else {
            return ruleCriterion.numberOfChildren;
        }
    } else {
        if (ruleCriterion == nil) {
            return self.simpleCriteria.count;
        } else {
            return ruleCriterion.numberOfChildren;
        }
    }
}

- (id)ruleEditor:(NSRuleEditor *)editor child:(NSInteger)index forCriterion:(nullable id)criterion withRowType:(NSRuleEditorRowType)rowType {
    RuleCriterion *ruleCriterion = criterion;

    if (rowType == NSRuleEditorRowTypeCompound && ruleCriterion == nil) {
        return self.compoundCriteria[index];
    } else if (rowType == NSRuleEditorRowTypeSimple && ruleCriterion == nil) {
        return self.simpleCriteria[index];
    } else {
        return [ruleCriterion childAtIndex:index];
    }
}

- (id)ruleEditor:(NSRuleEditor *)editor displayValueForCriterion:(id)criterion inRow:(NSInteger)row {
    RuleCriterion *ruleCriterion = criterion;

    return ruleCriterion.displayValue;
}
EN

回答 1

Stack Overflow用户

发布于 2019-04-15 21:36:55

使用插入行

代码语言:javascript
复制
- (void)insertRowAtIndex:(NSInteger)rowIndex withType:(NSRuleEditorRowType)rowType asSubrowOfRow:(NSInteger)parentRow animate:(BOOL)shouldAnimate;

使用设置行的条件和显示值

代码语言:javascript
复制
- (void)setCriteria:(NSArray *)criteria andDisplayValues:(NSArray *)values forRowAtIndex:(NSInteger)rowIndex;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55688723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档