编辑 - 对不起球员,我不认为我给了足够的细节:铸造一类的子类失败
在解析的iOS框架,他们是一个叫PFObject(ClassA的)类。该框架还允许您继承(ClassB)PFObject。并且,如果发生这样的情况应该发生,它们将是没有问题。
我的问题是如何可能?我明白一个子类可能包含不会出现在主类中的变量/方法,从而导致将类转换为不合理/不安全的子类的过程。
他们有一个协议定义为PFSubclassing,但我不明白这是怎么发生这种行为。
我有在操场下面:
class ClassA: NSObject { }
class ClassB: ClassA { }
let objectA = ClassA()
let objectB = objectA as! ClassB // <- Crashes
问题:
- 为什么崩溃发生的?
- 有没有办法解决这个问题?
感谢您的回答。 Parse的iOS SDK以某种方式允许这种行为,但我试图了解他们是如何做到的。他们有一个类PFObject(A类),并允许你从它创建一个任意类(比如说B类)。然后您可以将PFObject的对象投射到任意类!也许涉及方法调配? – Jason
你的意思是说'如果让castedClass = classB as? PFObject?'? – pbush25