分配枚举属性会覆盖它下面的NSArray *属性

时间:2014-02-03 11:18:34

标签: ios objective-c pointers enums automatic-ref-counting

我有一个课程,其中包括2个属性:

@property (nonatomic, assign) UIDeviceOrientation previousOrientation;
@property (nonatomic, strong) NSArray* childBrowserUrlWhitelist;

当我创建数组时,一切都很好:

self.childBrowserUrlWhitelist = @[@"myFirstValue", @"mySecondValue"];

此时_childBrowserUrlWhitelist指向一个包含预期值的有效地址。 稍后我分配属性self.previousOrientation

if (orientation == UIInterfaceOrientationPortrait ||
    orientation == UIInterfaceOrientationPortraitUpsideDown ||
    orientation == UIInterfaceOrientationLandscapeLeft ||
    orientation == UIInterfaceOrientationLandscapeRight)
{
    self.previousOrientation = orientation;
}

在分配self.previousOrientation的位置,childBrowserUrlWhitelist的值更改为指向无效位置。据我所知,这可能是由于_previousOrientation溢出并剔除_childBrowserUrlWhitelist中存储的指针所导致的,但我不知道为什么会发生这种情况。有没有人有任何想法?

0 个答案:

没有答案