在查询功能中限制多个打印语句

时间:2019-04-30 17:10:48

标签: swift amazon-dynamodb

我正在尝试查询DynamoDB中的记录。如果有记录,我希望控制台打印市场名称和客户的主要语言。如果记录不存在,我希望控制台打印“该信息不在我们的记录中”。

但是,目前,我将runQuery()链接到了一个按钮,在按下该按钮时,两个语句都按一个按钮打印。

注意:第二条语句打印四次。

这是按下按钮时运行的功能:

func runQuery(){

    appSyncClient?.fetch(query: ListCustomerRegistrationsQuery(),   cachePolicy: .returnCacheDataAndFetch) {(result, error) in
        if error != nil {
            print(error?.localizedDescription ?? "")
            return
        }
        result?.data?.listCustomerRegistrations?.items!.forEach {
            if $0?.firstInitial == self.firstInitialTextField.text && $0?.lastInitial == self.lastInitialTextField.text && $0?.needIndicatorId == self.numberNeedIndicatorTextField.text {
                print(($0?.marketName)! + " " + ($0?.primaryLanguage)!)

            }
            else if $0?.firstInitial != self.firstInitialTextField.text || $0?.lastInitial != self.lastInitialTextField.text || $0?.needIndicatorId != self.numberNeedIndicatorTextField.text {
                print("That info is not in our records.")

            }
            self.performSegue(withIdentifier: "goToDistribution", sender: self)
        }
    }
}

这是一次按下该按钮后创建的打印语句:

  

“街市英语”

     

“该信息不在我们的记录中。”

     

“该信息不在我们的记录中。”

     

“该信息不在我们的记录中。”

     

“该信息不在我们的记录中。”

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,那么您只希望在dateFrom任一条件为真时返回/打印一次。在这种情况下,建议您在两个地方都添加一个if

break