我会直接跳到这一点。我的应用程序崩溃了,我不知道它有什么问题。我最可能不正确的是屏幕尺寸的部分,但我真的不这么认为。以下是我的屏幕尺寸变量:
let screenSize: CGRect = UIScreen.mainScreen().bounds
let screenWidth = screenSize.width - CGFloat(screenSize.width)
let screenHeight = screenSize.height - CGFloat(screenSize.height)
我们在这里使用它们,在我的NSTimer中打勾:
func tick()
{
let color = Int(arc4random_uniform(3))
if(color == 1)
{
let newDrop:Drop = Drop(dropType: DropType.blue, xPos: Int(arc4random_uniform(UInt32(screenWidth - 5))))
drops.append(newDrop)
} else if(color == 2)
{
let newDrop:Drop = Drop(dropType: DropType.red, xPos: Int(arc4random_uniform(UInt32(screenHeight - 5))))
drops.append(newDrop)
}
drawDrops(drops)
}
drawDrops函数是:
func drawDrops(drops:[Drop])
{
for(var i = 0; i < drops.count; i++)
{
print("Hello, World!")
let button:UIButton = UIButton()
if(drops[i].dropType == DropType.red)
{
button.setImage(UIImage(named: "RedDrop.png"), forState: UIControlState.Normal)
button.addTarget(self, action: Selector("redPressed:"), forControlEvents: UIControlEvents.TouchUpInside)
} else if(drops[i].dropType == DropType.blue)
{
button.setImage(UIImage(named: "BlueDrop.png"), forState: UIControlState.Normal)
button.addTarget(self, action: Selector("bluePressed:"), forControlEvents: UIControlEvents.TouchUpInside)
}
button.frame = CGRectMake(CGFloat(drops[i].xPos), 10, 20, 20)
self.view.addSubview(button)
}
}
有没有人有任何想法?我收到了这个我从未听说过的错误,也不知道该做什么或改变什么:
2016-02-03 18:55:26.679 #Project Name#[19295:1104595] Unknown class Mai
在Interface Builder文件中。 (lldb)
谢谢!
-Jack
修改 我想出了麦的这一部分&#39;但现在我只是因为“llbd”而崩溃。&#39;控制台字面上没有其他任何说法:
我很确定它是tick()函数中的一些内容,因为当它进入视图控制器并且我的NSTimer设置为1秒时,它需要一秒钟崩溃...
(不确定这是否有帮助或与之有关,但它已将此行选为EXC_BAD_INSTRUCTION:
let newDrop:Drop = Drop(dropType: DropType.red, xPos: Int(arc4random_uniform(UInt32(screenHeight - 5))))
)
回答吗
不知道为什么会这样,但是我从Drop对象中取出了arc4random并将其变成了自己的变量。我不知道为什么会这样,但是很开心。 : - )