当前位置: 首页 > 知识库问答 >
问题:

stringValue中的Int和

岳锦
2023-03-14

我正在解析数据从mysql到我的IOS swift应用程序使用Alamofire,数据是整数,我把它们取到文本字段,然后我会对它们做一些计算,我成功地加载了数据,但问题是它们不能分配到文本字段!

func getIcomeData() {
    start()
    let url = URLs.income
    AF.request(url).validate().responseJSON { response in
            switch response.result {
            case .success:
                print("Validation Successful)")

                if let json = response.data {
                    do{
                        let jsonData = try JSON(data: json)
                        let dataarray = jsonData.arrayValue
                        print("DATA PARSED: \(jsonData)")
                        for itemDict in dataarray{

                            let int1 = itemDict["Base-Pay-Monthly"].intValue
                            **self.BPMTXT.text = itemDict["Base-Pay-Monthly"].intValue**
                            
                            let int2 = itemDict["Overtime"].intValue
                            **self.OTTXT.text = itemDict["Overtime"].intValue**
                                    
                                                       
                            let int6 = itemDict["Others"].intValue
                            **self.OthersTXT.text = itemDict["Others"].intValue**
                            
                            let totalIncome = [int1, int2, int3, int4, int5, int6]
                            let sum = totalIncome.reduce(0, +)
                            //self.NetPayLabel.text = String(sum)
                            self.NetPay = Double(sum)
                            
                            
                        }
                        self.stop()
                    }
                    catch {
                        print("JSON Error", error)
                    }
                }
            case .failure(let error):
                print(error)
            }
        }

}

我得到这个错误不能将“int”类型的值分配给加粗线上的“string”类型

共有1个答案

饶德本
2023-03-14

错误信息非常清楚。

self.bpmtxt.text是字符串。itemdict[“base-pay-monthly”].intvalue是int。无法将类型“int”的值分配给类型“string”

请尝试以下修改

self.BPMTXT.text = "\(itemDict["Base-Pay-Monthly"].intValue)"

self.OTTXT.text = "\(itemDict["Overtime"].intValue)"

self.OthersTXT.text = "\(itemDict["Others"].intValue)"
 类似资料:
  • 问题内容: 我最近一直在思考定义数组的两种方式之间的区别: 有区别吗? 问题答案: 它们在语义上是相同的。添加该语法只是为了帮助C程序员习惯Java。 更可取,并且不会造成混淆。

  • 我尝试将日期解析为java,例如“2022-02-02”。时间LocalDate。 为什么传递给标量类的值被包装成大括号?我该怎么解决这个问题? 我为java配置了标量。时间本地日期: 以下是问题: 错误说文本'StringValue{value='2018-09-03'}'无法在索引0处解析。我真的不明白为什么这仍然被包装到大括号中。 如果需要,这是graphqls文件:

  • 问题内容: 我正在尝试实现一个现有的网络协议,该协议大量使用了Java不支持的Unsigned数据类型。我目前对每种数据类型执行的操作是,选择下一个更大的数据类型,以使无符号数字适合正数区域,然后使用字节移位获得所需的效果。由于这很容易出错,并且长期以来无符号,我必须使用比扩展类型重得多的BigInteger,我想知道是否有更好的方法来实现这一点? 问题答案: 根据您的工作,您可以将long视为6

  • 问题内容: 我该怎么办,JPA(我使用Hibernate)创建具有无符号类型的列?目前,我所有的ID列均已签名。 问题答案: 使用注释上的属性即可。对要使用的SQL类型进行 全面 猜测: 注意: 并非所有数据库(我认为像SQL Server)都支持unsigned int类型。

  • 问题内容: 我只是想知道为什么范围是用我的sql数据类型给出的。我定义了一个字段名称为“ id”且数据类型为“ int(2)”的表。我将值插入字段“ id”作为“ 123456”。这被接受并存储。那么给出范围的用途是什么。 提前致谢。 问题答案: 对于和其他类型,该属性仅指定显示宽度。 请参阅MySQL文档中的数字类型属性: MySQL支持扩展,可以选择在整数类型的基本关键字之后的括号中指定整数数

  • 描述 (Description) 此方法返回此对象表示的字符序列中最后一次出现的索引,该索引小于或等于fromIndex,如果该字符在该点之前未出现,则返回-1。 语法 (Syntax) 以下是此方法的语法 - public int lastIndexOf(int ch, int fromIndex) 参数 (Parameters) 这是参数的细节 - ch - 一个角色。 fromIndex