2014-11-12 3 views
-3

В настоящее время я пытаюсь пройти через NSArray который содержит NSManagedObject. Когда я пытаюсь применить выбранный объект, он бросает мне ошибку. Вот кодДинамическая ошибка литья в swift

for var i = 0; i < self.displayedHistoryListContent.count ; i=i+1{ 
      var productObject: Product = self.displayedHistoryListContent.objectAtIndex(i) as Product 
     } 

Продукт мой NSManagedObject.

сбой приложения на линии, где я совершаю литье «как продукт»

Может кто-нибудь сказать мне, где я неправильно?

+1

Какая у вас ошибка? –

+2

-1: Это ваш 12-й вопрос, вы должны знать, как отформатировать свой вопрос. Этот код очень трудно прочитать. И вы не отправили сообщение об ошибке. Если вы вложите какие-либо усилия в свой вопрос, почему мы должны ответить на него? – DarkDust

+0

libswiftCore.dylib'swift_dynamicCastObjCClassUnconditional: 0x409678: толчок {r4, Г7, Л.Р.} 0x40967a: мы r4, r0 0x40967c: мы r2, r1 0x40967e: добавить r7, SP, # 0x4 0x409680: CMP r4, # 0x0 0x409682: beq 0x40969e; swift_dynamicCastObjCClassUnconditional + 38 0x409684: MOVW r0, # 0x8b8c 0x409688: Movt r0, # 0x1 0x40968c: добавить r0, шт 0x40968e: LDR r1, [r0] 0x409690: мов r0, r4objc_msgSend 0x409696: tst.w r0, # 0xff 0x40969a: bne 0x4096a0; swift_dynamicCastObjCClassUnconditional + 40 –

ответ

1

Это действительно похоже, что ваш массив не содержит Product s. Попробуйте с as? вместо as, чтобы подтвердить это. Вы можете использовать NSLog, чтобы узнать, что находится в массиве, когда вы ожидаете Product.

1

Вы уверены, что объекты в массиве являются фактически классом Product? При работе с NSManagedObject легко получить путаницу и обратиться к набору вместо самого объекта. Возможно, вы знаете, что актер не является конверсией?

Использовать println(), чтобы увидеть, как объект wat действительно находится там

+0

Привет, Rien, Да, он содержит продукт NSManagedObject, так как его отображение корректно отображается в моем представлении reloadData таблицы. –

+0

Не соглашайтесь с точкой, но среда выполнения не согласна с вами, вы пробовали println (объект)? – Rien

Смежные вопросы