【发布时间】:2015-08-29 16:53:31
【问题描述】:
我正在制作一个社交媒体应用程序,注册屏幕中的一项功能是它会检查用户名是否被实时使用并打上 X 或检查是否被使用(再次实时)。我使用计时器来完成此操作,但由于某种原因,计时器会在几秒钟后停止。这是怎么回事?有没有更好的方法来做到这一点?
override func viewDidLoad() {
username.delegate = self
email.delegate = self
password.delegate = self
var timer = NSTimer()
timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: Selector("checkOrX"), userInfo: nil, repeats: true)
}
func checkOrX() {
var query = PFQuery(className: "_User")
query.whereKey("username", equalTo: self.username.text)
query.findObjectsInBackgroundWithBlock { (users, error) -> Void in
if let users = users {
self.usernameCheck.image = UIImage(named: "X.png")
} else {
self.usernameCheck.image = UIImage(named: "Check.png")
}
}
}
【问题讨论】:
-
哇,我怀疑 parse 会欣赏该请求垃圾邮件。计时器以什么方式“停止”???您是否添加了日志记录语句?
-
日志语句是什么意思?
-
记录语句:
print("in checkOrX")在方法中。花一些时间阅读有关调试的信息,您会做很多事情,我们都会这样做。 -
你不只是认真地问我记录日志的意思 :O :'(((
-
仅检查文本字段的内容是否更改(为此目的有通知)可能比每秒检查 100 次更有效。
标签: ios xcode swift parse-platform nstimer