Erreur de compilation rapide – Lors de l'émission de SIL pour 'tableView' à

Utilisation de Xcode 6 Beta 5. Je construis un tableviewcontroller et ces quelques lignes de code ne comstackront pas.

func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! { let cell : OrderHistoryCell = tableView.dequeueReusableCellWithIdentifier("CellForOrderHistory", forIndexPath: indexPath) as OrderHistoryCell var orderHistoryDataModel: OrderHistoryDataModel = self.orderItemsArray[indexPath.section][indexPath.row - 1] as OrderHistoryDataModel cell.nameLabel.text = orderHistoryDataModel.orderItem.title cell.statusLabel.text = orderHistoryDataModel.shipment.shippingStatus.toRaw() let imageData: NSData = NSData(contentsOfURL: orderHistoryDataModel.orderItem.imageURL) cell.thumbnailImageView.image = UIImage(data: imageData) return cell } 

Voici l'erreur de compilation:

 ComstackSwift normal x86_64 com.apple.xcode.tools.swift.comstackr ........ ............ Stack dump: ....... ........ intermediates/newProject.build/Debug-iphonesimulator/newProject.build/Objects- normal/x86_64/OrderHistoryViewController.o 1. While emitting SIL for 'tableView' at /Users/testuser/Downloads/newProject/newProject/OrderHistoryViewController.swift:131:5 <unknown>:0: error: unable to execute command: Segmentation fault: 11 <unknown>:0: error: swift frontend command failed due to signal (use -v to see invocation) Command /Applications/Xcode6-Beta5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 254 

Le problème dans cette ligne

  var orderHistoryDataModel: OrderHistoryDataModel = self.orderItemsArray[indexPath.section][indexPath.row - 1] as OrderHistoryDataModel 

Vous avez un tableau de arrays de OrderHistoryDataModel .
Xcode ne peut pas comprendre le type de l'object lorsque vous obtenez l'object de 2 arrays à la fois – [indexPath.section][indexPath.row - 1] .
Pour le réparer – Spécifiez le type des objects dans orderItemsArray comme ceci

  var orderItemsArray: [[OrderHistoryDataModel]] = [] 

Vous pouvez également essayer d'get l'object en 2 étapes. Changez ce code [indexPath.section][indexPath.row - 1] pour ceci:

 var models: [OrderHistoryDataModel] = self.orderItemsArray[indexPath.section] var orderHistoryDataModel: OrderHistoryDataModel = models[indexPath.row - 1] 

Également effacer votre projet et supprimer le dossier DerivedData.

Si la réponse de Koval ne le corrige pas, voyez si votre class a un boolean implicitement déballé (!) et vous essayez d'utiliser une opération ternaire dessus.

dans mon cas, j'avais quelque chose comme ça dans ma class de model

 var isParent: Bool! 

et dans cellForRow (_)

 folder.isParent ? "xyz" : "abc" 

Dans mon cas, c'était une solution facile. Au lieu de faire du bool une propriété implicitement déballée, je l'ai juste assigné à false par défaut. De toute façon, il était réglé dans l'initialiseur.

Crédits