【发布时间】:2016-06-04 17:22:56
【问题描述】:
我正在尝试实现一件简单的事情——通过切换 UISwitch 来切换字符串值。
但是,我知道,有什么问题
func switchIsChanged(interestedIn: UISwitch) {
if interestedIn.on == true {
print("UISwitch is ON")
} else {
print("UISwitch is OFF")
}
}
if self.Gender.text == "male" {
switchIsChanged(self.interestedIn)
}
如有必要,我可以显示整个代码。我只是从 Facebook 获取数据,了解用户的性别,并根据他或她的性别设置兴趣值。
import UIKit
import FBSDKShareKit
import FirebaseDatabase
import FirebaseAuth
import Firebase
class Settings: UIViewController {
@IBOutlet weak var UserImage: UIImageView!
@IBOutlet weak var UserName: UILabel!
@IBOutlet weak var UserSurname: UILabel!
@IBOutlet weak var Gender: UILabel!
@IBOutlet weak var interestedIn: UISwitch!
@IBOutlet weak var GenderofInsterest: UILabel!
var pictureURL : String?
var interest = ""
override func viewDidLoad() {
super.viewDidLoad()
let paramets = ["fields": "email, first_name, last_name, picture.type(large), gender"]
let graphRequest = FBSDKGraphRequest(graphPath: "me", parameters: paramets)
graphRequest.startWithCompletionHandler({
(connection, result, error) -> Void in
if error != nil {
print (error)
}
if let first_name = result["first_name"] as? String {
self.UserName.text = first_name
}
if let last_name = result["last_name"] as? String {
self.UserSurname.text = last_name
}
if let picture = result["picture"] as? NSDictionary, data = picture["data"] as? NSDictionary, pictureUrl = data["url"] as? String {
self.pictureURL = pictureUrl
let fbUrl = NSURL(string: pictureUrl)
if let picData = NSData(contentsOfURL: fbUrl!) {
self.UserImage.image = UIImage(data: picData)
}
}
if let gender = result["gender"] as? String {
self.Gender.text = gender
}
let people = ProfileClass()
people.profileName = self.UserName.text
people.profileGender = self.Gender.text
people.profileSurname = self.UserSurname.text
people.profilePhotoUrl = self.pictureURL
people.SaveUser()
func switchIsChanged(interestedIn: UISwitch) {
if interestedIn.on == true {
print("UISwitch is ON")
} else {
print("UISwitch is OFF")
}
}
if self.Gender.text == "male" {
switchIsChanged(self.interestedIn)
}
})
}}
【问题讨论】:
-
我想你想要的是一个
Bool,它可以是真的也可以是假的。UISwitch是一个实际的 GUI 开关。 -
@ILkeTau 对不起,我没有得到 U。UISwitch.on 返回布尔值。正如我发现的那样,实际上没有必要使用 UISwitch.on == true。