我是第一次在Xcode工作的初学者。我试图将IBAction
(在视图控制器中)与我在App委托中创建的函数链接起来。问题似乎是.text
和String之间的区别。如果你可以请参考代码,并试着想出一种方法,我可以链接我创建的按钮(与IBAction)和" whatFoodText"我创造的功能。请帮忙!
func whatFoodText(whatFood: String, whereFrom: String) -> String {
if whatFood.text = "Apple" {
链接到
@IBAction func tellMoi(sender: AnyObject) {
toldMoi.text(whatFoodText)
答案 0 :(得分:2)
你的问题没有多大意义。
一般情况下,您不应该使用"业务逻辑"来混淆您的应用代表。保持轻量级,只处理处理启动和关闭应用程序以及响应应用程序委托消息的方法。
您应该将响应按钮的方法放在视图控制器中,这些按钮属于。
当你说&#34时,你的意思并不清楚。问题似乎是.text和String之间的差异。" UI对象(如UITextFields,UITextViews和UILabels)具有文本属性(快速语法中的.text),用于保存字段中的当前值。在swift中,可以将这些属性视为包含String对象。 (它们实际上包含Cocoa NSString对象,可以自由地转换为Swift String对象,因此您可以在很大程度上忽略差异,只需使用类型转换从一个转换为另一个)
如果你有一个需要2个字符串输入的whatFoodText方法,并返回一个字符串作为结果,你需要传递2个字符串。
您张贴的专栏:
toldMoi.text(whatFoodText)
没有多大意义。您将whatFoodText作为参数传递。如果您的目标是获取对whatFoodText的调用结果并将其存储为名为toldMoi的字段的文本内容,则需要以不同方式编写代码。
您的IBAction方法可能如下所示:
@IBAction func tellMoi(sender: UIButton)
{
let string1: String = String(someField.text)
let string2: String = String(someOtherField.text)
toldMoi.text = whatFootText(whatFood: string1, whereFrom: string2)
}