Swift:预期声明错误将"Label"设置为字符串变量

 手机用户2602919091 发布于 2022-12-12 20:46

我在一个小的单一窗格应用程序中管理不同的语言,为每个注释使用不同的字符串数组,由整数变量"userLang"索引,然后设置label.text = array [index].基本代码是:

import UIKit
class ViewController: UIViewController {
   var userLang = 0
   var arrayOne = ["hi", "hola"]
   var arrayTwo = ["Bye", "Adios"]
   @IBOutlet weak var msgArrayOne: UILabel!
   @IBOutlet weak var msgArrayTwo: UILabel!

   msgArrayOne.text = arrayOne[userLang]  //Error here: !Expected declaration
   msgArrayTwo.text = arrayTwo[userLang]  //odd, but this line gets no error until I 
                                          //remove the first line above, then 
                                          //this line gets the same error.

   override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
   }

   override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
   }
 }

我一直收到"预期声明"错误.我尝试在引号(而不是数组)中使用一个简单的字符串作为测试,但仍然得到相同的错误.我在网上搜索过,没有找到解决问题的建议.我尝试更改名称,如果我正在使用"保留"引用.

我在Apple的开发人员手册中查找了Swift,但找不到标签的正确语法.这种语法在其他项目中有效,所以我不确定是怎么回事.我甚至尝试将相关部分复制/粘贴到一个新项目(在Xcode错误的情况下,其中一个在线建议)没有更好的结果.我注意到小的差异(空间或资本)可以在Swift中产生很大的不同.我在这里做错了吗?有什么建议?

1 个回答
  • msgArrayOne.text = arrayOne[userLang]  
    msgArrayTwo.text = arrayTwo[userLang]
    

    这些不是声明,您需要将它们移动到viewDidLoad()或其他适当的位置.您的标签语法很好,但是您的代码在类中的错误位置.

    2022-12-12 20:52 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有