我是编程新手,无法了解如何从我在swift中创建的函数中获取可变数据。我尝试返回变量但是我在编译器中遇到错误。
class ViewController: UIViewController {
@IBOutlet var textField: UITextField!
var userName = String()
@IBAction func returnPressed(_ sender: Any) {
userName = textField.text! //user input will = userName
print("return pressed inside textfield")
print("User name set to \(userName)")
self.view.endEditing(true) //hides keyboard
return (userName)
}
通过按下返回按钮激活该功能。然后,变量userName将等于文本字段中的用户输入。
问题是在这个函数之外,我不能再调用变量userName并接收先前存储的用户输入值。 我似乎无法让“回归”像我一直在阅读那样工作。
答案 0 :(得分:0)
函数的return语句没有做任何事情,因为你没有声明函数返回任何东西。
func returnPressed(_ sender : Any) -> String
这将是一个返回String的函数。
在这种情况下,您不需要return语句,因为您没有通过手动调用函数来捕获函数的结果。
如果在按Return键后在代码中的其他位置打印userName的值,变量将捕获该值,请确保在确定它无效之前尝试:)
答案 1 :(得分:0)
首先,as_list
是类TensorShape([Dimension(1), Dimension(2), Dimension(3)])
的内部变量,可以在每个函数中访问。您必须在某个函数中访问该变量,例如userName
,ViewController
或您班级中的任何自定义函数。
制作任何功能并访问变量
viewDidLoad
如果您没有自己指定显式访问级别,则代码中的所有实体(具有一些特定的例外)都具有内部的默认访问级别。因此,在许多情况下,您无需在代码中指定显式访问级别。
详细了解Access Controls。
此外,您还会从按钮的viewWillAppear
返回一些不具有任何返回类型的内容。你会在那里遇到编译错误。
通常,文本字段的返回由func test() {
//access here userName
}
处理。请参阅here。
Swift 3 中的委托方法是
IBAction