gpt4 book ai didi

cocoa - NSRuleEditor : Criteria for new row

转载 作者:行者123 更新时间:2023-12-03 16:11:46 25 4
gpt4 key购买 nike

当我在 NSRuleEditor 中的一行上点击“+”按钮时,会创建一个新行。我如何影响该行使用的标准。

NSRuleEditor 似乎默认从可能值列表中按顺序选择第一个条件。我宁愿让新行与单击“+”的行匹配。

最佳答案

我可以通过子类化私有(private)方法来伪造它:

- (void)_addOptionFromSlice:(id)slice ofRowType:(unsigned int)type
{
int rowIndex = [(NSRuleEditorViewSlice*)slice rowIndex];

NSArray *criteriaForRow = [self criteriaForRow:rowIndex];
NSArray *displayValuesForRow = [self displayValuesForRow:rowIndex];

self.template = [NSArray arrayWithObjects:criteriaForRow, displayValuesForRow, nil];

[super _addOptionFromSlice:slice ofRowType:type];
}

- (void)insertRowAtIndex:(NSInteger)rowIndex withType:(NSRuleEditorRowType)rowType asSubrowOfRow:(NSInteger)parentRow animate:(BOOL)shouldAnimate
{
[super insertRowAtIndex:rowIndex withType:rowType asSubrowOfRow:parentRow animate:shouldAnimate];

NSArray *template = self.template;

if (template != nil) {
[self setCriteria:[template objectAtIndex:0] andDisplayValues:[template objectAtIndex:1] forRowAtIndex:rowIndex];
}
}

关于cocoa - NSRuleEditor : Criteria for new row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1932991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com