swift - 从多人文本框中获取答案的最佳方法
问题描述
我创建了多个文本字段,其中每个文本字段仅接受 1 个字符,然后移至下一个框。我想在所有文本字段都填满时检查用户的回答,但我对如何做到这一点有点困惑。
我的第一种方法是创建一个答案字符串,每次调用 textFieldDidChange 时,我都会将 textfield.text 添加到字符串中,但是我怎么知道所有框何时都已填充并调用 checkAnswer 函数,另一个问题是,如果用户决定填充这些框的顺序不同,然后当我将用户答案与正确答案进行比较时,由于顺序不同,因此显然不正确。
解决方案
如果你知道你有多少个 textFields,你可以添加一个属性观察器yourAnswerString
,一旦值yourAnswerString
变得等于numberOfTextFields
,它会自动调用 check Answer 函数。
var yourAnswerString = "" {
didSet {
if yourAnswerString.count == numberOfTextFields {
self.checkAnswer()
}
}
}
推荐阅读
- javascript - 如何在新的 BrowserWindow(模态或 2e 窗口)电子应用程序中发送数据
- algorithm - 谁创造了递归除法迷宫算法?
- odata - SAP Fiori 应用程序 OData V2:sap-client 未在 onExit 事件函数导入调用中传输
- python - Dockerfile:OSError:没有可用的默认输入设备 Python
- r - 将 for 循环嵌套到矢量化函数并在数据框中保存值
- flutter - 在 null 上调用了方法“>”。Receiver: null 尝试调用:>(1e-10) 相关的导致错误的小部件是 Column
- html - 单击时为孩子添加课程
- docker - 如何在 docker-compose.yml 中配置卷?
- java - 禁用 ActiveMQ Java 客户端的日志记录
- docker - 如何使用 Docker 映像为 Tor 隐藏服务设置 GitLab CI/CD?