使用变量

时间:2015-05-16 11:16:08

标签: ios arrays swift xcode6

我现在花了大约12个小时试图解决这个谜题,但我不能!事实是我大约3个星期进入我的Swift冒险,这是我第一次编写任何代码(我想我在Atari 800XL上做了一次彩虹!)

我真的不知道我在做什么......我也明白,我在这里所做的事情可能是根本错误的,所以我会欣赏礼物包装的批评。

我有一个滑块 - C1

我想用变量设置它的值。但是,它想要一个浮点数,我似乎无法将我正在使用的数组转换为浮点数。实际上我无法将任何数组值转换为其他任何内容,并且不断收到有关AnyObject的错误。下面的代码是我运行的试验的一次迭代,一切都没有运气。这让我很生气!

错误是

不能将int值赋给float类型的值 AnyObject不能转换为NSNumber;你的意思是用作!强迫垂头丧气

这是我从Parse获取数组并将其分配给NSUSER的代码。

        var defaults = NSUserDefaults.standardUserDefaults()

        var getAuditId:String = defaults.stringForKey("auditIdGlobal")!
        var userId:String = defaults.stringForKey("userIdGlobal")!

        var query = PFQuery(className: "auditData")
        query.whereKey("auditId", equalTo:getAuditId)
        query.findObjectsInBackgroundWithBlock {
            (objects: Array?, idError: NSError?) -> Void in

            if idError == nil {

                if let objects = objects as? [PFObject] {
                    for object in objects {


                        var auditId: AnyObject? = object["auditId"]!
                        var callEhs: AnyObject? = object["ehsData"]!
             NSUserDefaults.standardUserDefaults().setObject(callEhs, forKey: "ehsLoad")

这是用户端的代码

        var defaults = NSUserDefaults.standardUserDefaults()

        var loadArray = defaults.arrayForKey("ehsLoad")!

        var test: AnyObject = loadArray[0]

        var testFloat = Int(test)

        c1.value = testFloat

我很欣赏它在上面显示了一个int,但我无法转换为任何东西! Xcode让我插入一个强制向下转换为!NSNumber

         var = int(test as! NSNumber)

这里我收到此错误

无法将类型'__NSCFString'(0x10c0bfc50)的值转换为'NSNumber'(0x10c550b88)。 (lldb)

如果我尝试使用强制向下倾斜

         var testFloat = test as! Float

在运行应用程序时,我收到错误

无法将类型'__NSCFString'(0x10b690c50)的值转换为'NSNumber'(0x10bb21b88)。 (lldb)

1 个答案:

答案 0 :(得分:1)

您的test变量是NSString。尝试

var test = loadArray[0] as! NSString

然后使用

test.floatValue
相关问题