iOS中的复杂代码

Tun*_*her 0 objective-c ios

在这里,我坚持使用以下代码块

self.isFiltered?[self.filteredCategories count]:[self.categories count]
Run Code Online (Sandbox Code Playgroud)

这里isFiltered是一个bool,filteredCategories是一个可变数组,categories是一个数组.该行返回一个整数.我不明白这条线的作用和方式.谢谢

the*_*ner 9

这是一个三元声明.说你有if这样的:

if (condition)
    var = one thing
else
    var = other thing
Run Code Online (Sandbox Code Playgroud)

作为一个三元组,那就是

var = condition ? one thing : other thing
Run Code Online (Sandbox Code Playgroud)

因此,在您的情况下,如果已过滤,它会将您的变量设置为过滤器计数,如果未过滤,则将其设置为完整的类别计数.