我想使用valueForKeyPath:
例如:
NSArray *myArray = @[1,2,3,4,5,6,7,8];
我有一个字符串如下
myArray[], myArray[3],myArray[1..3]
当我评估这些字符串时,我想要输出如下
evaluate(@"myArray[]")
output:@[1,2,3,4,5,6,7,8]
evaluate(@"myArray[3]")
output:4
evaluate(@"myArray[1..3]")
output:@[2,3,4]
我已经使用valueForKeyPath:
使用自定义函数来调用方法和函数。我坚持使用数组和参数
答案 0 :(得分:1)
您没有尝试过任何尝试,因此不清楚您的问题是什么 - 您似乎知道可以从中构建解决方案的事情(valueForKeyPath:
,正则表达式)。
以下是解决方案的概述:
NSRegularExpression
或NSScanner
来提取一至三个重要部分。如果您选择NSRegularExpression
,请注意将模式写为[
,]
和.
是特殊字符,需要适当的转义 - 只需阅读文档。valueForKey:
获取数组的值,假设它是属性或实例变量。NSArray
的方法来获取对象,您可能会发现NSIndexSet
在这里很有用。就是这样。如果您尝试这样做并且卡住了,请编辑您的问题,显示您尝试过的内容,说明损坏情况,并寻求帮助;有人可能会进一步提供帮助。
HTH