目标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不会?
答
这是因为您的channel
对象是nil
。检查你是如何创建这个对象的。 还可以检查你的ipad和iphone的iOS版本。
看起来很好。在'[channel loadChannel:@“c12”];'上设置一个断点并确保'channel'不是零。 – bneely
同时删除您的模拟器上的项目,然后运行它:) – iPatel
你有不同的iPhone和iPad版本的目标?如果是这样,你可能有不同的类文件链接到每个目标。 –