Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios coreData数组中的真布尔值求和_Ios_Swift_Core Data - Fatal编程技术网

Ios coreData数组中的真布尔值求和

Ios coreData数组中的真布尔值求和,ios,swift,core-data,Ios,Swift,Core Data,下面的代码从核心数据填充我的表视图值单元格。显示otsBranch和日期值。我试图找出如何计算记录的真布尔值的数量,并在表格单元格中显示该数量。let arr=ots函数是我的尝试。但它给了我一个错误“类型OTSProcessConfirmation不符合协议序列” //coredata中的属性具有布尔值,我希望将其计数为true ots.otsQ1 ots.otsQ2 ots.otsQ3 ots.otsQ4

下面的代码从核心数据填充我的表视图值单元格。显示otsBranch和日期值。我试图找出如何计算记录的真布尔值的数量,并在表格单元格中显示该数量。let arr=ots函数是我的尝试。但它给了我一个错误“类型OTSProcessConfirmation不符合协议序列”

//coredata中的属性具有布尔值,我希望将其计数为true

         ots.otsQ1
         ots.otsQ2
          ots.otsQ3
          ots.otsQ4
         ots.otsQ5
         ots.otsQ6
         ots.otsQ7
          ots.otsQ8
          ots.otsQ9
        ots.otsQ10
        ots.otsQ11
         ots.otsQ12
         ots.otsQ13
         ots.otsQ14

这很尴尬,因为您的对象没有要处理的值数组,只有几个名称类似的属性。我认为最简单的解决方案是在代码中构建一个数组,然后处理:

let array = [ots.otsQ1, ots.otsQ2, ots.otsQ3, ots.otsQ4, 
             ots.otsQ5, ots.otsQ6, ots.otsQ7, ots.otsQ8,
             ots.otsQ9, ots.otsQ10, ots.otsQ11, ots.otsQ12,
             ots.otsQ13, ots.otsQ14]
let trueCounter = arr.reduce(0) { $0 + ($1 ? 1 : 0) }

这意味着,如果您添加另一个布尔值,
otsQ15
,您必须记住将其添加到数组中。

这很尴尬,因为您的对象没有要处理的值数组,只有几个类似命名的属性。我认为最简单的解决方案是在代码中构建一个数组,然后处理:

let array = [ots.otsQ1, ots.otsQ2, ots.otsQ3, ots.otsQ4, 
             ots.otsQ5, ots.otsQ6, ots.otsQ7, ots.otsQ8,
             ots.otsQ9, ots.otsQ10, ots.otsQ11, ots.otsQ12,
             ots.otsQ13, ots.otsQ14]
let trueCounter = arr.reduce(0) { $0 + ($1 ? 1 : 0) }

这意味着如果添加另一个布尔值,
otsQ15
,则必须记住将其添加到数组中。

哪些布尔值?
ots
是否有二进制值的集合?我在第一篇文章中添加了更多内容,其中显示了我想要通过计数来获得真实值的coredata属性。如果我理解正确,ots将保存core data中记录的所有值。“var OTSProcess确认:OTSProcess确认?”。OTSProcessConfiguration是实体的名称。让ots=otsProcessConfirmation值由otsProcessConfirmationSo设置,以便澄清,对于每个ots,您需要otsQ1、otsQ2、。。。otsQ14?没错。我想计算每个otsQ1的真实值。。。OTSQ14哪些布尔值?
ots
是否有二进制值的集合?我在第一篇文章中添加了更多内容,其中显示了我想要通过计数来获得真实值的coredata属性。如果我理解正确,ots将保存core data中记录的所有值。“var OTSProcess确认:OTSProcess确认?”。OTSProcessConfiguration是实体的名称。让ots=otsProcessConfirmation值由otsProcessConfirmationSo设置,以便澄清,对于每个ots,您需要otsQ1、otsQ2、。。。otsQ14?没错。我想计算每个otsQ1的真实值。。。otsQ14