2016-03-23 68 views
0

我有一個最初運行在目標c上的大項目,現在我已經使用xcode 7.3轉換爲swift 2.2並優化了代碼。但是,應用程序崩潰說EXC_BAD_INSTRUCTION ..我知道一定有什麼問題。這是產生啓動屏幕後應用程序崩潰

var dict : [NSObject : AnyObject] = userDefaults.objectForKey(mdmiosagent_Constants.MANAGED_APP_CONFIGURATION) as! [NSObject : AnyObject] 

而且同樣的事情線路在這裏顯示以及

0x10a553f09 <+171>: movq 0xd692d8(%rip), %rbx  ; (void *)0x000000010c04ad70: objc_release 

有沒有人有任何想法什麼特別一定出了錯?讓我知道如果有關於代碼的更多信息將被提供。

回答

2

我認爲有幾件事情,可能是錯誤的這條線:

userDefaults.objectForKey(mdmiosagent_Constants.MANAGED_APP_CONFIGURATION) as! [NSObject : AnyObject]

  1. userDefaults實際上並不包含mdmiosagent_Constants.MANAGED_APP_CONFIGURATION
  2. 任何價值你是力as!鑄造,如果你收回的內容不是[NSObject: AnyObject]

因此,您可以嘗試檢查您的userDefaults實際上是否包含mdmiosagent_Constants.MANAGED_APP_CONFIGURATION的值。

如果是這樣,那麼內容是什麼?儘量不要強制施放它,只是看看它是什麼。

希望能幫到你。

+0

如果我強制施放它,錯誤就像AnyObject?不能轉換爲類型[NSObject:AnyObject] ..所以我應該宣佈字典爲[Anyobject]? –

+0

和我剛剛宣佈userDefaults作爲標準的用戶默認值.. –

+0

好吧,你可以設置一個斷點爲例,看看你的userDefaults包含什麼? – pbodsk