1

当用户在我的应用程序上通过 Facebook 登录时,我已按照步骤管理我自己的令牌缓存,但是按下登录按钮时它总是崩溃。它调用:

NSDictionary *data = [[NSDictionary alloc] initWithContentsOfFile:self.tokenFilePath];

然后崩溃。如果我改变初始化

_tokenFilePath = [self filePath];

self.tokenFilePath = [self filePath];

那么它不会崩溃,但有时登录按钮必须在登录之前多次按下。我该如何解决这个问题?

谢谢你。

4

1 回答 1

0

如果您不使用 ARC,则将存在保留差异。

self.tokenFilePath调用 setter 并且该 setter 正在增加filePath.

没有 ARC 直接分配给 ivar 不会增加保留计数。采用:

_tokenFilePath = [[self filePath] retain];

使用 ARC,直接分配会增加保留计数。

于 2013-01-12T18:21:35.573 回答