Ios 强参考周期未按预期执行

Ios 强参考周期未按预期执行,ios,objective-c,Ios,Objective C,我创建了一个名为Item的类,它有两个指向Item的指针,*containedItem和*container。本人声明如下: @property (nonatomic) Item *containedItem @property (nonatomic) Item *container - (void)dealloc { NSLog(@"Destroyed: %@",self); } 我覆盖项目内的dealloc,如下所示: @property (nonatomic) Item *co

我创建了一个名为Item的类,它有两个指向Item的指针,*containedItem和*container。本人声明如下:

@property (nonatomic) Item *containedItem
@property (nonatomic) Item *container
- (void)dealloc
{
    NSLog(@"Destroyed: %@",self);
}
我覆盖项目内的dealloc,如下所示:

@property (nonatomic) Item *containedItem
@property (nonatomic) Item *container
- (void)dealloc
{
    NSLog(@"Destroyed: %@",self);
}

这样我就可以看到哪些物品被销毁了。我创建了两个项目,并将其设置为一个指向另一个作为其容器,另一个指向第一个作为其包含的容器。由于默认属性是强指针,我认为这会导致内存泄漏。但是,当我运行我的程序时,它显示这两个项目都已销毁。我想知道当两个项目都有一个指向它们(从另一个)的强指针时,如何销毁它们。

您能显示更多详细信息吗?我不明白你确定你没有遗漏任何重要的事情吗?如果我运行这段代码,dealloc将不会像预期的那样被调用。也许您在编译代码时没有启用ARC?如果是这种情况,则属性的默认值不是
strong
,而是
assign