目标C代码的工作在iPad上,但不能在iPhone

问题描述:

所以Ive得到的代码在目标C以下行:目标C代码的工作在iPad上,但不能在iPhone

NSLog(@"begin"); 
[channel loadChannel:@"c12"]; 
NSLog(@"end"); 

,并在channel对象的loadChannel:方法我有这样的代码:

- (void) loadChannel: (NSString*) channelId { 
    NSLog(@"loadChannel"); 
    NSLog(@"channelId: %@",channelId); 
    /* more code */ 
} 

在iPad模拟器上,一切正常,完全如预期。我的日志输出显示:

begin 
loadChannel 
channelId: c12 
end 

但是在iPhone模拟器上它有一个不同的故事。就好像它跳过了loadChannel:方法。我的日志输出显示如下:

begin 
end 

除此之外,没有错误由Xcode踢出。

有没有人有任何理由知道为什么iPhone会忽略某些方法,当iPad不会?

+4

看起来很好。在'[channel loadChannel:@“c12”];'上设置一个断点并确保'channel'不是零。 – bneely

+0

同时删除您的模拟器上的项目,然后运行它:) – iPatel

+0

你有不同的iPhone和iPad版本的目标?如果是这样,你可能有不同的类文件链接到每个目标。 –

这是因为您的channel对象是nil。检查你是如何创建这个对象的。 还可以检查你的ipad和iphone的iOS版本。