我想创建一个CustomView显示图像的.单击视图应更改其状态.视图可以表示三个状态(off,set,notset).我想用XML中的选择器来做这件事.它不一定需要是自定义选择器.我可以重用选择器的三个状态(如果状态的名称不同则无关紧要).
有没有一个很好的方法来实现这一目标?
我有一个应用程序,在后台提取的帮助下在后台获取内容.
因此,如果应该进行后台提取,application:performFetchWithCompletionHandler:则调用我的方法.在这个方法中,我使用NSURLConnection来异步获取内容.
在我当前的实现中,我只启动请求,然后调用completionHandlerwith UIBackgroundFetchResultNewData.我知道这不可能是正确的.所以我的问题是,如何正确调用completionHandlerasync请求在connection:didReceiveData:方法中完成的时间.
我对Firebase和Swift很陌生,在查询方面我遇到了一些麻烦.所以我基本上有两件事要做:
我对此问题的数据的相关部分如下所示:

正如你所看到的,我正在使用Firebase的简单登录(后来我也想添加Facebook登录),我正在用他们的uid存储我的用户.
我的规则文件的一部分如下所示:
"registered_users": {
".read": true,
".write": true,
".indexOn": ["name"]
}
Run Code Online (Sandbox Code Playgroud)
所以每个人都应该对这部分数据进行读写访问.
我还在他们的网站上阅读了Firebase iOS指南的"检索数据"部分,根据该指南,我获取所有用户名和电子邮件地址的代码应该有效,至少我是这么认为的.但事实并非如此.这是我的代码:
func getUsersFromFirebase() {
let registeredUserRef = firebaseRef.childByAppendingPath("registered_users")
registeredUserRef.queryOrderedByChild("name").observeSingleEventOfType(.Value, withBlock: { snapshot in
if let email = snapshot.value["email"] as? String {
println("\(snapshot.key) has Email: \(email)")
}
if let name = snapshot.value["name"] as? String {
println("\(snapshot.key) has Name: \(name)")
}
})
}
Run Code Online (Sandbox Code Playgroud)
我注意到,在firebase指南中,他们总是使用ChildAdded类型而不是Value,但对我而言Value更有意义.带有Value的输出是空的,带有ChildAdded的输出只有一个用户,即现在登录的用户.
所以我的问题是:
我希望我的描述足够详细.请事先提供帮助.
补充:
奇怪的是,"检索数据"指南说,可以按高度查询和排序以下数据.
数据: …