所以我在使用Switch语句时遇到问题,当我使用它时,我会在控制台中得到这个"致命错误:范围结束索引没有有效的继承者".
var ArrayBytes : [UInt8] = [48 ,48 ,48]
var SuperArrayMensaje : Array = [[UInt8]]()
var num7BM : Array = [UInt8]()
for var Cont27 = 0; Cont27 < 800; Cont27++ {
ArrayBytesReservaSrt = String(Mensaje7BM[Cont27])
switch Mensaje7BM[Cont27] {
case 0...9 :
num7BM = Array(ArrayBytesReservaSrt.utf8)
ArrayBytes.insert(num7BM[0], atIndex: 2)
case 10...99 :
num7BM = Array(ArrayBytesReservaSrt.utf8)
ArrayBytes.insert(num7BM[0], atIndex: 1)
ArrayBytes.insert(num7BM[1], atIndex: 2)
case 100...255 : // --> THE problem is here "EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)"
num7BM = Array(ArrayBytesReservaSrt.utf8)
ArrayBytes.insert(num7BM[0], atIndex: 0)
ArrayBytes.insert(num7BM[1], atIndex: 1)
ArrayBytes.insert(num7BM[2], …Run Code Online (Sandbox Code Playgroud) 我试图从数组中拉出一个随机项.当我运行时,在拉随机项并给我这个错误"EXC_BAD_INSTRUCTION"之间大约50/50.知道发生了什么事吗?
现在我的代码看起来像这样:在解决方案之前
func randomCard() -> Card {
let randomIndex = Int(arc4random()) % cardArray.count
let randomCard = cardArray[randomIndex]
cardArray.removeAtIndex(randomIndex)
return randomCard
}
Run Code Online (Sandbox Code Playgroud)
后
func randomCard() -> Card {
let randomIndex = arc4random_uniform(UInt32(cardArray.count))
let randomCard = cardArray[randomIndex.hashValue]
cardArray.removeAtIndex(randomIndex.hashValue)
return randomCard
}
Run Code Online (Sandbox Code Playgroud)
这就是我现在正在使用的,似乎正在工作.谢谢大家的帮助.
我一直在使用这个函数来生成时间戳.我在Stack Overflow上找到它.
@objc public class var timestamp: String {
return "\(Int(NSDate().timeIntervalSince1970 * 1000))"
}
Run Code Online (Sandbox Code Playgroud)
它一直没有问题,但我得到了一个EXC_BAD_INSTRUCTION:
fatal error: floating point value cannot be converted to Int because it is greater than Int.max
Run Code Online (Sandbox Code Playgroud)
随着这个应用程序的开发即将完成,它让我感到紧张,突然看到它导致EXC_BAD_INSTRUCTION.这是在模拟器中运行,但我有一个有效的日期和时间设置.
任何想法或建议或非常感谢.以下是回溯.
(lldb) bt
* thread #1: tid = 0x15c4d, 0x04a30393 libswiftCore.dylib`function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Dead, Arg[3] = Dead> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> () + 67, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
frame #0: 0x04a30393 libswiftCore.dylib …Run Code Online (Sandbox Code Playgroud) 我尝试编写游戏代码(我在Swift中使用本教程https://www.youtube.com/watch?v=LkYpoRj-7hA im new).那是我的代码到目前为止:
import UIKit
class ViewController: UIViewController {
//Image View
@IBOutlet var ticTac_A01: UIImageView = nil
@IBOutlet var ticTac_A02: UIImageView = nil
@IBOutlet var ticTac_A03: UIImageView = nil
@IBOutlet var ticTac_B01: UIImageView = nil
@IBOutlet var ticTac_B02: UIImageView = nil
@IBOutlet var ticTac_B03: UIImageView = nil
@IBOutlet var ticTac_C01: UIImageView = nil
@IBOutlet var ticTac_C02: UIImageView = nil
@IBOutlet var ticTac_C03: UIImageView = nil
//Buttons
@IBOutlet var ticTacBtn_A01: UIButton = nil
@IBOutlet var ticTacBtn_A02: UIButton = nil
@IBOutlet …Run Code Online (Sandbox Code Playgroud) 我是Swift和iOS开发的新手,但我遇到了一个错误,导致我的应用程序在以下设备上运行时崩溃:
iPhone 4S iPhone 5 iPad 2 iPad Retina
这是被标记的代码:
// bin2dec - converts binary string into decimal string
func bin2dec(input: String) -> String {
var counter = countElements(input)
var digit: Character
var power = 1
var result = 0
while counter > 0 {
digit = input[advance(input.startIndex, counter-1)]
switch digit {
case "0":
result += 0
case "1":
result += 1 * power
default:
power = power / 2
break
}
counter--
power *= 2
}
return "\(result)"
} …Run Code Online (Sandbox Code Playgroud) 每当我运行我的项目时,我都会收到错误的指令错误...
ground.physicsBody!.dynamic = false
Run Code Online (Sandbox Code Playgroud)
以下是我正在使用此代码段运行的完整代码.我不确定发生了什么,我没有很多关于选项的经验.
码:
var ground = SKSpriteNode()
ground.position = CGPointMake(0, 0)
ground.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(self.frame.size.width, 30))
let groundTexture = SKTexture(imageNamed: "Red.png")
ground = SKSpriteNode(texture: groundTexture)
ground.physicsBody!.dynamic = false
ground.physicsBody?.allowsRotation = false
ground.physicsBody!.categoryBitMask = ColliderType.Object.rawValue
ground.physicsBody!.contactTestBitMask = ColliderType.Object.rawValue
ground.physicsBody!.collisionBitMask = ColliderType.Object.rawValue
self.addChild(ground)
Run Code Online (Sandbox Code Playgroud) 我有一个Printable对象数组,但我需要它们Equatable和AnyObject兼容.
private(set) var items: [Printable] = []
class func withItems<T: AnyObject where T: Equatable, T: Printable>(items: [T], selectedItem: T? = nil) {
... instance init ...
instance.items = items
}
Run Code Online (Sandbox Code Playgroud)
它导致EXC_BAD_INSTRUCTION:
致命错误:无法从Objective-C桥接数组
这是对这个问题的一次尝试:
为什么?
swift ×7
ios ×6
crash ×1
fatal-error ×1
optional ×1
protocols ×1
sigabrt ×1
sprite-kit ×1
timestamp ×1
xcode ×1