2 alllllllll alllllllll 于 2013.02.28 15:55 提问

在访问时报错:No visible @interface

在appdelegate.m中创建了一个方法:

-(void)setupTabBarController {
         // details goes here
}

在ABC.m中访问setupTabBarController

已经包括了delegates:

#import "AppDelegate.h"

然后:

AppDelegate *maindelegate = [[AppDelegate alloc] init];
[maindelegate setupTabBarController];

但是报错:

No visible @interface for 'Appdelegate' declares the selector 'setupTabBarController'

不知道怎么搞的。

1个回答

zhanglei5415
zhanglei5415   Rxr 2013.03.07 11:38
已采纳

首先你没有在AppDelegate 的.h头文件中定义方法名,说明方法是一个私有方法,无法被外部文件访问.如果是public的方法,需要在头文件中声明

-(void) setupTabBarController;

再者AppDelegate 的创建,AppDelegate 应该是一个单例.你不可再使用如下代码来创建

AppDelegate *maindelegate = [[AppDelegate alloc] init];

改成

AppDelegate *maindelegate = [UIApplication sharedApplication].delegate;
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ARC Semantic issue:No visiable @interface for xxx declares the selector yyy编译错误
出现该错误一般是类方法中调用了对象的方法。 警告:Captureing ‘self’ strongly in this block is likely to lead to a retain cycle 这个警告我们在使用block时会经常碰到,什么原因引起的呢?其实是ARC机制造成的 分析:Block对象在创建时会retain一次,如果在block中使用se
Xcode no visible @interface for XXX declares…
转自:http://ask.csdn.net/questions/168990 no visible @interface for XXX declares the selector XXX 写了一段代码 剩下大约五个这样的错误 确认了几遍没有发现拼写错误,请问是什么地方出了问题? 我这个错误是有一个方法最后的"}"没有加.
iOS[正解] - no visible @interface for XXXXXX 解决方案
错误如题,解决方案如下: 1.这种错误一般出现在调用方法的时候,指的是文件中没有这个方法,所以请检查你的.h和.m文件确定这个方法确实存在 2.如果方法确实存在,看看是否忘记引用头文件 3.如果确实引用了,还是报错,那就留言吧.
IOS 编译错误,iOS compile error: no visible @interface for 'CDVCommandDelegateImpl' declares the selector
把Cordova 升级到 3.6.3 版本后,在变异的使用出现了如下问题 The error: /Volumes/local.uhmuhm.net/projectxxx/htdocs/phonegap/src/Projectxxx/platforms/ios/Projectxxx/Classes/MainViewController.m:154:19: error: no visible @i
[iOS]Xcode no visible @interface for XXX declares…
发现所有的方法都不好使了 最后发现 是有个地方 少了个大括号
动态代理及JDK动态代理源码分析
JAVA的动态代理机制可以动态的创建代理并动态的处理代理方法调用,只要简单指定一组接口及为拖累对象,就能动态的获取代理类
interface XXX is not visible from class loader
java.lang.IllegalArgumentException: interface XXX is not visible from class loader //super.getClass().getClassLoader() httpInvokerProxyFactoryBean.setBeanClassLoader(get Class().getClassLoader());
iOS error: No visible @interface for 'xxxx' declares the selector 'alloc'
iOS error: No visible @interface for 'Project' declares the selector 'alloc' up vote4down votefavorite I am initialising an object like so: Project *Projec
iOS/Xcode异常:no visible @interface for XXX declares the selector YYY
在iOS/Xcode开发过程中,出现如下异常信息: no visible @interface for XXX declares the selector YYY 分析原因: There are lots of reasons it could happen, but generally it’s saying that at the line of code it flags, it do
SpringBoot之class is not visible from class loader
一、前言最近在搭建SpringBoot的新应用,遇到个有意思的问题,如题就是在加载某一个类时候抛出了class is not visible from class loader, 下面就带大家看看是如何产生的。二、问题产生首先有如下bean的定义:public class TestProxy implements TestService { private TestService test...