我在做Universal Application,它在main.m类中有isPad()方法。我想在AppDelegates(iPad,iPhone)中使用此方法。
是的,它目前可以在AppDelegates中访问 <击> 撞击>
<击>- (void)applicationDidFinishLaunching:(UIApplication *)application
{
if (isPad()) // isPad() method locates main.m and is accessible through delegate.
// but I gets warning message 'Implicit declaration of function isPad()
{
}
}
BOOL isPad();
int main(int argc, char *argv[])
{ //detecting iPad and iPhone }
BOOL isPad()
{
// method that detects the device.
}
为什么我收到警告信息'隐式声明函数isPad()? 我需要在AppDelegate.m中#include main.m吗?那怎么样? 我希望在任何其他类中使用此方法。
[[UIApplication sharedApplication].delegate isPad()];
击> <击> 撞击>
是的,我弄错了!! 我用了两个代表一个用于垫,另一个用于手机。 只需使用一名代表即可完成。对不起大家!
答案 0 :(得分:1)
为什么要把你的isPad()方法放在main.m中?为什么不能将该方法放在共享的应用程序委托中,这样您应用程序中的所有类都可以访问它?我建议您只需在共享应用代理中创建isPad()方法,并避免将它们放在main.m中。
答案 1 :(得分:0)
答案 2 :(得分:0)
您在AppDelegate代码中收到的警告消息是因为 isPad 没有函数原型。您可以通过在AppDelegate实现文件中放置 BOOL isPad(); 来消除警告。
我强烈建议您将此逻辑移出主文件。