我收到的错误就像
:未知类型名称'AppDelegate'
:未知类型名称'AppDelegate'
:具有"弱"属性的属性必须是对象类型

我已经提到了很多像这样的问题,但都给出了像添加的答案
@class Appdelegate;
Run Code Online (Sandbox Code Playgroud)
我尝试编辑此代码,但在此之后它给出了错误
:AppDelegate.m:23:18:'ddLogLevel'的重新定义

因为此日志是在两个视图控制器中定义的.我也尝试从上面的视图控制器评论此日志的行,但它会给出错误
:/ChatViewController.m:440:13:使用未声明的标识符'ddLogLevel'

现在有什么解决方案?
编辑:我必须这样声明.因为我正在研究xmpp.所以我必须[[self appDelegate] connect]在另一个视图控制器中调用方法.
- (AppDelegate *)appDelegate
{
return (AppDelegate *)[[UIApplication sharedApplication] delegate];
}
Run Code Online (Sandbox Code Playgroud)
编辑
//Appdelegate.h file //
#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>
#import "ViewController.h"
#import "MBProgressHUD.h"
#import "FriendsViewController.h"
#import <CoreData/CoreData.h>
#import "XMPPFramework.h"
//@class FriendsViewController;
@class ViewController;
@interface AppDelegate : NSObject <UIApplicationDelegate, XMPPRosterDelegate>
{
XMPPStream *xmppStream;
XMPPReconnect *xmppReconnect;
XMPPRoster *xmppRoster;
XMPPRosterCoreDataStorage *xmppRosterStorage;
XMPPvCardCoreDataStorage *xmppvCardStorage;
XMPPvCardTempModule *xmppvCardTempModule;
XMPPvCardAvatarModule *xmppvCardAvatarModule;
XMPPCapabilities *xmppCapabilities;
XMPPCapabilitiesCoreDataStorage *xmppCapabilitiesStorage;
NSString *password;
BOOL customCertEvaluation;
BOOL isXmppConnected;
BOOL isauthenticate;
UIWindow *window;
UINavigationController *navigationController;
//SettingsViewController *loginViewController;
UIBarButtonItem *loginButton;
ViewController *viewController;
FriendsViewController *FriendsViewController;
}
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic, strong, readonly) XMPPStream *xmppStream;
@property (nonatomic, strong, readonly) XMPPReconnect *xmppReconnect;
@property (nonatomic, strong, readonly) XMPPRoster *xmppRoster;
@property (nonatomic, strong, readonly) XMPPRosterCoreDataStorage *xmppRosterStorage;
@property (nonatomic, strong, readonly) XMPPvCardTempModule *xmppvCardTempModule;
@property (nonatomic, strong, readonly) XMPPvCardAvatarModule *xmppvCardAvatarModule;
@property (nonatomic, strong, readonly) XMPPCapabilities *xmppCapabilities;
@property (nonatomic, strong, readonly) XMPPCapabilitiesCoreDataStorage *xmppCapabilitiesStorage;
//@property (nonatomic, strong) IBOutlet UIWindow *window;
@property (nonatomic, strong) IBOutlet UINavigationController *navigationController;
//@property (nonatomic, strong) IBOutlet SettingsViewController *settingsViewController;
@property (nonatomic, strong) IBOutlet UIBarButtonItem *loginButton;
@property (nonatomic, strong) ViewController *viewController;
@property (nonatomic, strong) FriendsViewController *FriendsViewController;
- (NSManagedObjectContext *)managedObjectContext_roster;
- (NSManagedObjectContext *)managedObjectContext_capabilities;
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
- (BOOL)connect;
- (BOOL) isXmppConnected;
- (void)disconnect;
-(BOOL) isauthenticate;
@end
Run Code Online (Sandbox Code Playgroud)
你有两个问题,我将分别解决它们:
未知的类型名称'AppDelegate'
这是因为循环依赖:ChathistryViewController.h导入AppDelegate.h,反之亦然.
您可以通过AppDelegate.h仅导入ChathistryViewController.m和包含@class AppDelegate在.h文件中来解决此问题.
AppDelegate.m:23:18:'ddLogLevel'的重新定义
ddLogLevel在*ViewController.h文件中定义时,它的定义将"复制"到您导入的所有文件中*ViewController.h.
您应该只导入CocoaLumberjack和定义文件,因为它们根本不需要.ddLogLevel.m.h
| 归档时间: |
|
| 查看次数: |
1872 次 |
| 最近记录: |