如何过滤字符串数组中的斯威夫特
问题描述:
通过使用目标C我有过滤一年阵列使用NSPredicate,如何过滤字符串数组中的斯威夫特
下面是代码。
yearArray = [yearArray filteredArrayUsingPredicate:[NSPredicate
predicateWithFormat:@"SELF != ''"]];
按照上面的代码它的工作目标C细,我一定要在斯威夫特3,滤波器阵列
什么是输入年份阵列: -
(Year,"","","",JAN,"","","",FEB,"","","",MAR,"","","",APR,"","","",
MAY,"","","",JUN,"","","",JUL,"","","",AUG,"","","",SEP,"","","",OCT
,"","","", NOV,"","","",DEC,"","","","",WIN,"","","",SPR,"","","",SUM
,"","","",AUT,"","","","",ANN)
Need filter Output Array
(Year,JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC,WIN,SPR,SUM,AUT,ANN)
请给解决方案如何快速过滤数组。
答
您可以通过使用过滤器(上Array
型)做到这一点:
let filteredArray = yearArray.filter{$0 != ""}
就这么简单。
如果阵列是一个NSMutableArray
,只需将其转换为[String]
:
if let yearArray = yearArray as? [String] {
let filteredArray = yearArray.filter{$0 != ""}
// add your code here
}
+2
'!$ 0.isEmpty'比'$ 0!=“”'更可取。它更好地交流意图。 – Alexander
我用你的代码,但是它的示值误差,表达的类型是没有更多的上下文暧昧。 –
是你的[String]类型还是不同的数组? –
字符串类型的NSMutableArray –