因快速零而导致致命错误

时间:2015-11-28 19:54:29

标签: ios xcode swift

使用Xcode,由于在swift 2.0中收到nil,我得到致命错误。下面声明的常量是应用程序崩溃的点,因为mediaItem响应为nil:

let url: NSURL? = NSURL(string: (self.mediaItem?[0].url)!)

我该如何避免这个问题?

1 个答案:

答案 0 :(得分:1)

由于(self.mediaItem?[0].url)!导致崩溃。如果self.mediaItem?[0].url返回nil值,则语句更改为:(nil)!并崩溃应用程序。此外,您还需要处理数组越界异常,如果您的mediaItems数组为空,则可能会发生此异常。

您可以修改它:

if let mediaArray = self.mediaItem where mediaArray.count > 0
{
   if let urlString = mediaArray[0].url
   {
     let url: NSURL? = NSURL(string: urlString)
   }
}