如何修复因线程0错误导致的应用程序崩溃

如何修复因线程0错误导致的应用程序崩溃

问题描述:

Now我知道如何弄清楚为什么我的应用程序崩溃了,请有人帮我修复此崩溃。如何修复因线程0错误导致的应用程序崩溃

enter image description here

这会做的工作?谢谢你

switch tempDayHolder 
        { 
        case "Monday": 
         outputWeekdays.append(2) 
        case "Tuesday": 
         outputWeekdays.append(3) 
        case "Wednesday": 
         outputWeekdays.append(4) 
        case "Thursday": 
         outputWeekdays.append(5) 
        case "Friday": 
         outputWeekdays.append(6) 
        case "Saturday": 
         outputWeekdays.append(7) 
        case "Sunday": 
         outputWeekdays.append(1) 
        default : 
         outputWeekdays.append(1) 
        } 

道歉,如果这是一个基本的问题。我是一名新手,从在线教程中学习东西,这是我第一次遇到这个问题。

好吧,所以我连接了发生崩溃的手机,进入xcode> Devices并且这是崩溃日志。从这里任何指针将高度赞赏:

https://pastebin.com/mhTteSBC

+0

什么是错误?部分代码全部直接作为文本。 – Carcigenicate

+0

1.是否? 2.你是如何声明outputString/outputWeekdays的? –

+0

我不是100%确定。我认为这是它崩溃的地方,因为那里有一条红丝带(如截图所示)。我如何知道代码崩溃的确切位置?该应用程序似乎在模拟器中正常工作。然而,在现实生活中,它正在崩溃。 – Has

(让我们忽略你的编程风格。至于你说你是一个新手)

源错过某些类型。

所以:

1)假设完整的代码是:

import Foundation 


var outputWeekdays = [Int]() 

class Days { 

    init() { 
    } 
    var daysSelected: String?{ 
     get{ 
      if let returnValue = UserDefaults.standard.object(forKey: "SELECTED_DAY") as? String{ 
       return returnValue 
      } 
      else{ 
       return nil 
      } 
     } 
    } 
} 
func foo(days: Days){ 

    let tempDayHolder = days.daysSelected as? String ?? "" 
    switch tempDayHolder 
    { 
    case "Monday": 
     outputWeekdays.append(2) 
    case "Tuesday": 
     outputWeekdays.append(3) 
    case "Wednesday": 
     outputWeekdays.append(4) 
    case "Thursday": 
     outputWeekdays.append(5) 
    case "Friday": 
     outputWeekdays.append(6) 
    case "Saturday": 
     outputWeekdays.append(7) 
    case "Sunday": 
     outputWeekdays.append(1) 
    default : 
     outputWeekdays.append(1) 
    } 
} 

var days = Days() 
foo(days: days) 

代码不工作(我们假设我们得到了例如用于首选项....) 我得到了不必要的铸造韦林..

2)做:

var daysSelected: NSString?{ 
.. 

和:

let tempDayHolder = days.daysSelected as String? ?? "" 

它确实有效。

所以我们需要你的完整代码。