你如何知道在swift中何时施放物品?

你如何知道在swift中何时施放物品?,swift,Swift,我看到它做了所有的时间,但不知道其他程序员如何知道什么时候投一个项目。下面是一个最近让我感到疑惑的示例,编码人员是如何知道如何投射项目的: let item = NSEntityDescription.insertNewObjectForEntityForName("Item", inManagedObjectContext: ad.managedObjectContext) as! Item 您正在描述的将返回NSManagedObject,这是创建、配置和返回给您以供使用的新托管对象的方式

我看到它做了所有的时间,但不知道其他程序员如何知道什么时候投一个项目。下面是一个最近让我感到疑惑的示例,编码人员是如何知道如何投射项目的:

let item = NSEntityDescription.insertNewObjectForEntityForName("Item", inManagedObjectContext: ad.managedObjectContext) as! Item
您正在描述的将返回NSManagedObject,这是创建、配置和返回给您以供使用的新托管对象的方式

在CoreData中,保存的所有NSManagedObject实际上都是NSManagedObject基类的子类,因此,如果您想从该调用中
let item=
,则需要将其转换为实际的子类类型


有意义吗?

谢谢Matt-将会读到Hi Michael,你是说NSManagedObjects是NSManagedObjects Context的子类吗?是的,第一部分很有意义;仍在努力理解第二部分——但人们怎么知道有东西被归还了呢在将函数的结果赋给变量之前,我们知道返回了什么吗?;在本例中,变量为'item'否,在上面的示例中,类item(带有大写字母I——对于示例b.t.w来说,这是个坏名字)是NSManagedObject的子类。NSManagedObject是由
insertNewObjectForEntityForName
返回的对象类型。因此,要在创建项(小写i)后使用它,您需要将其转换为正确的类型。另一方面,托管对象上下文是一个(如本Apple文档的介绍性段落所示);但是假设我们正在寻找一个可以应用于所有类的规则,而不仅仅是NSManagedObject;我们怎么知道什么时候我们返回的物品不是我们需要的物品,我们需要投下它?