2012-01-13 43 views
0

当控件在此处出现时,我的应用程序崩溃[self loadNextList]。我不确定为什么会发生这种情况。如果您发现问题,请告诉我。将NSString分配给NSString时,我的应用程序崩溃

这是第一次,它工作我没有看到任何问题。并且当再次调用loadNextList方法时,它会崩溃。当崩溃时,在控制台中找不到任何错误消息。

NSString *myTierTwoID; 
@property(nonatomic,retain)NSString *myTierTwoID; 

-(void)getData{ 

myTierTwoID = [myTierTwoDict objectForKey:myTierTwoTitle]; 

[self loadNextList]; 

} 

-(void)loadNextList{ 
//========================== 

    NSLog(@"%@ lloo",myTierTwoID); 

    NSString *aTierTwoId = [NSString stringWithFormat:@"%d", [myTierTwoID intValue] + 1]; 

    NSLog(@"%@ aTierTwoId",aTierTwoId); 

    myTierTwoID = aTierTwoId; // here it crashes the app 

    NSLog(@"%@ lloo",myTierTwoID); 
} 
+3

这个问题将是一个很大更多的信息,如果你可以添加喜欢的细节....你有什么样的崩溃?是否有任何其他信息出现在控制台中?我看到'保留'在那里...但只是为了确保,你是否使用ARC? – 2012-01-13 05:25:58

+0

没有在控制台中发现崩溃 – user198725878 2012-01-13 05:26:55

+0

@ user198725878当应用程序崩溃时,必须有一些错误消息。请张贴该消息。 – PengOne 2012-01-13 05:28:19

回答

2

酒店签名需要一个保留的价值,所以你应该这样做,而不是:

self.myTierTwoID = [myTierTwoDict objectForKey:myTierTwoTitle]; 

self.myTierTwoID = aTierTwoId; 
+0

感谢您的答案,做了窍门 – user198725878 2012-01-13 05:38:05

+0

有一个问题,我需要使用自我时,将值分配给保留的对象?为什么?请让我知道 – user198725878 2012-01-13 05:40:15

+0

合成的属性实现比简单的赋值复杂得多。 _retained_限定符涉及释放旧的值对象并保留新的值。没有预先“自我”。你跳过内部综合实现(跳过发布/保留),只是分配一个值。如果您不释放旧值对象,则会泄漏内存。如果你不保留新的,那么当它在别处发布时你会崩溃。 – Costique 2012-01-13 10:15:13

相关问题