【问题标题】:Cannot convert value of type 'Int' to expected argument type 'String'无法将“Int”类型的值转换为预期的参数类型“String”
【发布时间】:2017-01-09 17:21:44
【问题描述】:

大家好,我已经创建了这段代码:

let array = [
    Enemy(imageNamed: "Slide 2"),
    Enemy(imageNamed: "Slide 1"),
    Enemy(imageNamed: "Slide 3"),
    Enemy(imageNamed: "Slide 4"),
    Enemy(imageNamed: "Slide 5"),
    Enemy(imageNamed: "Slide 6"),
    Enemy(imageNamed: "Slide 7"),
    Enemy(imageNamed: "Slide 8"),
    Enemy(imageNamed: "Slide 9"),
    Enemy(imageNamed: "Slide 10")
]

var level1 = Int(arc4random_uniform(UInt32(array.count)))
    NSURL(string: level1)
    level1.physicsBody = SKPhysicsBody(texture: level1.texture!, size: level1.size)
    level1.physicsBody?.dynamic = true
    level1.physicsBody?.categoryBitMask = BodyType.level1
    level1.physicsBody?.collisionBitMask = 0
    level1.position = CGPoint(x : background.size.width - 465, y : background.size.height - 218)
    level1.zPosition = 12
    addChild(level1)

错误:但在“NSURL(字符串:level1)”行我收到错误“不能 将 'Int' 类型的值转换为预期的参数类型 'String'"

如果有人能给我一个解决方案,我将不胜感激

【问题讨论】:

  • 即使将整数转换为字符串,它也不是 URL。你期望NSURL(string: level1) 是什么?
  • 您有什么建议吗?因为我才刚刚开始学习 swift,非常感谢
  • 你可能想从数组中选择一个随机元素,但到目前为止你有一个随机数。所以let enemy = array[level1] ; enemy.physicsBody = ... 可能是你想要的。我不知道你 NSURL(string: level1) 表达式的目的是什么。 – 请格式化代码!
  • 如果你告诉我我将如何提高你的声誉,这很有效
  • 如果你通过 SpriteKit 的东西只是作为学习 Swift 的一种方式,那么你将走上一条艰难的道路。斯坦福 iTunes 课程对我来说非常有价值。只需在 Google 上搜索“stanford swift course itunes”,最热门的内容之一就是最近针对 iOS 9 更新的免费 iTunes 课程。

标签: swift string casting swift2 int


【解决方案1】:

您可以将整数转换为字符串,但它不是 URL。

类似这样的:

let fileUrl = NSURL(string: filePath)

NSURL 对象表示一个 URL,它可能包含远程服务器上资源的位置、磁盘上本地文件的路径,甚至是任意一段编码数据。

Apple NSURL Document

【讨论】:

    【解决方案2】:

    这会将整数解包为字符串,根据我所见,应该可以满足您的需要。

    NSURL(string: "\(level1)") 
    

    【讨论】:

    • 快到了!然而,错误在下一行消失了:“level1.physicsBody = SKPhysicsBody(texture: level1.texture!, size: level1.size)”我得到错误值 int has no member physical body
    • 整数没有物理实体。我相信你需要从你的数组中随机取一个项目,然后它就会起作用! var theEnemy = array[level1] 然后取theEnemy.physicsBody 等。
    猜你喜欢
    • 2018-10-01
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 2016-01-14
    • 2019-05-12
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    相关资源
    最近更新 更多