jjzjj

应用程序中的 ios-thread 1 exc_bad_instruction 错误

coder 2023-09-11 原文

我正在编写一个模拟 nba 彩票的应用程序。我已经编写了代码来生成随机组合,并将它们分配给每个团队。

这是我模拟图纸并将选秀位置分配给每个团队的方法。 standingsArray 是一个 ObjectWrapper 类型的团队项目数组,每个团队的名称、种子、胜利、损失、选秀位置除外……的值。所以基本上我做的是我有 14 个球并随机选择 4 个球,它们构成一个组合(顺序无关紧要)。所以基本上总共有 1001 种可能的组合,但有一种被排除在外。 (您可以忽略第一个 while 循环,因为它就在那里,因此不会选择抛出的组合)。根据记录将许多组合分配给 14 个乐透团队(最差团队 250 个,第二差团队 199 个...)。我的方法 standingsArray 中的参数已经具有分配给每个团队的可能性的数量。接下来,我从所有可能性中随机抽取 4 个球,拥有该组合的球队获得第一顺位。但是因为不能为第二个选择再次选择该团队的所有组合,所以我必须删除所有这些组合,但这非常复杂,所以我创建了一个名为 tempPossibilities 的新数组,它附加了每个团队的所有组合除了刚刚选择的那个,然后我可以生成一个新的组合供选择。

但是,我在 for j in 0...(standingsArray[i].possibilities?.count)!-1{ 这行遇到错误,它说指令错误,我无法弄清楚为什么我会收到此错误。还有什么没有意义的是 for 循环工作并且 tempPossibilities 数组完全填充了正确数量的组合(没有彩票团队),即使错误发生在 for 循环? 代码如下:感谢任何帮助,谢谢,对于很长的段落,我们深表歉意

 func setDraftPositions(var standingsArray: [Team])->[Team]{
    var lottery: [Team]=[]
    var totalPossibilities: [[Int]]=combosOfLength(14, m: 4)
    var tempPossibilities = []
    var rand = Int(arc4random_uniform(UInt32(totalPossibilities.count)))
    var draw = totalPossibilities[rand]
    while (draw==(unused?.first)!) {
         rand = Int(arc4random_uniform(UInt32(totalPossibilities.count)))
         draw = totalPossibilities[rand]
    }

    s: for x in 0...13{
       for a in 0...(standingsArray[x].possibilities?.count)!-1{
         if(draw==standingsArray[x].possibilities![a]){
            standingsArray[x].setDraftingPosition(1)
            standingsArray[x].isLottery=true;
            lottery.append(standingsArray[x])
            for i in 0...(standingsArray.count-1) {
                if(standingsArray[i].firstName != standingsArray[x].firstName!) {
                    for j in 0... (standingsArray[i].possibilities?.count)!-1{ //ERROR is happening here
                        tempPossibilities.append(standingsArray[i].possibilities![j])
                    }
                }
            }
            standingsArray.removeAtIndex(x)
            break s;
        }
        }

    }

(对接下来的 2 个选择重复此操作)

最佳答案

试试这个:

for j in 0...(standingsArray[i].possibilities?.count)!-1{

应该这样写:

for j in 0...(standingsArray[i].possibilities?.count)! - 1{

它需要适当的间距。

关于应用程序中的 ios-thread 1 exc_bad_instruction 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36256353/

有关应用程序中的 ios-thread 1 exc_bad_instruction 错误的更多相关文章

  1. ruby - 如何验证 IO.copy_stream 是否成功 - 2

    这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下

  2. Ruby 文件 IO 定界符? - 2

    我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的

  3. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  4. ruby - 为什么不能使用类IO的实例方法noecho? - 2

    print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上

  5. ruby-on-rails - Rails 设计 : "You need to sign in or sign up before continuing" instead of "You will receive an email with instructions.." - 2

    我已经安装了DeviseonRails4.2.0,一切似乎都在工作,我使用了以下指南:http://sourcey.com/rails-4-omniauth-using-devise-with-twitter-facebook-and-linkedin/我的设计模块是:devise:database_authenticatable,:registerable,:confirmable,:recoverable,:rememberable,:trackable,:validatable,:omniauthable唯一的问题是,如果我尝试通过转到注册页面创建一个新帐户,然后在输入我的电子邮

  6. ruby - 为 IO::popen 拯救 "command not found" - 2

    当我将IO::popen与不存在的命令一起使用时,我在屏幕上打印了一条错误消息:irb>IO.popen"fakefake"#=>#irb>(irb):1:commandnotfound:fakefake有什么方法可以捕获此错误,以便我可以在脚本中进行检查? 最佳答案 是:升级到ruby​​1.9。如果您在1.9中运行它,则会引发Errno::ENOENT,您将能够拯救它。(编辑)这是在1.8中的一种hackish方式:error=IO.pipe$stderr.reopenerror[1]pipe=IO.popen'qwe'#

  7. Ruby 1.9.2-p-180 失败,返回 'illegal instruction' 或 'stack level too deep (SystemStackError)' - 2

    行为:Ruby1.9.2p180因“非法指令”而失败,没有其他详细信息。Ruby1.9.1p378运行完全没有问题。失败发生在pin=fronto.index(k)行中,仅在某些迭代中发生。from和into都是对象数组,by是该对象的属性(x或y)。代码:defadd_from_to_byfrom,into,bynto=into.sort_by{|k|k.send(by)}fronto=(from+nto).sort_by{|k|k.send(by)}dict={}nto.each{|k|dict[k]=[]}nto.eachdo|k|pin=fronto.index(k)up=pi

  8. ruby - IO::EAGAINWaitReadable:资源暂时不可用 - 读取会阻塞 - 2

    当我尝试使用“套接字”库中的方法“read_nonblock”时出现以下错误IO::EAGAINWaitReadable:Resourcetemporarilyunavailable-readwouldblock但是当我通过终端上的IRB尝试时它工作正常如何让它读取缓冲区? 最佳答案 IgetthefollowingerrorwhenItrytousethemethod"read_nonblock"fromthe"socket"library当缓冲区中的数据未准备好时,这是预期的行为。由于异常IO::EAGAINWaitReadab

  9. ruby - 如何使用 ruby​​ fibers 避免阻塞 IO - 2

    我需要将目录中的一堆文件上传到S3。由于上传所需的90%以上的时间都花在了等待http请求完成上,所以我想以某种方式同时执行其中的几个。Fibers能帮我解决这个问题吗?它们被描述为解决此类问题的一种方法,但我想不出在http调用阻塞时我可以做任何工作的任何方法。有什么方法可以在没有线程的情况下解决这个问题? 最佳答案 我没有使用1.9中的纤程,但是1.8.6中的常规线程可以解决这个问题。尝试使用队列http://ruby-doc.org/stdlib/libdoc/thread/rdoc/classes/Queue.html查看文

  10. ruby - 如何从 ruby​​ 中的 IO 对象获取文件名 - 2

    在ruby中...我有一个由外部进程创建的IO对象,我需要从中获取文件名。然而我似乎只能得到文件描述符(3),这对我来说不是很有用。有没有办法从此对象获取文件名甚至获取文件对象?我正在从通知程序中获取IO对象。所以这也可能是获取文件路径的一种方式? 最佳答案 关于howtogetathefilenameinC也有类似的问题,我将在这里以ruby​​的方式给出这个问题的答案。在Linux中获取文件名假设io是您的IO对象。以下代码为您提供了文件名。File.readlink("/proc/self/fd/#{io.fileno}")例

随机推荐