Xcode 不再识别对象
Xcode Don't recognize Object anymore
我有一个名为朋友的对象(我知道,首字母应该大写)。我在许多其他 classes 和视图控制器中使用这个 class。
突然之间,在不更改任何代码的情况下,我拥有的每个自定义对象都不再相互识别。我总是收到错误 Unknown type name "friend".
我已经尝试清除项目并重新启动 mac。
这个 Xcode WTF 错了吗?突然间我的整个项目都停止工作了。
这是我的classcurrentUser.h
#import <Foundation/Foundation.h>
#import "friend.h"
@interface currentUser : NSObject<NSCoding>
{
BOOL fromfacebook;
@private
NSMutableArray *upLoadStack;
}
@property (nonatomic,strong)NSString *token;
@property (nonatomic,strong)NSString *email;
@property (nonatomic,strong)NSString *name;
@property (nonatomic,strong)UIImage *userImg;
@property (nonatomic,strong)NSString *username;
@property (nonatomic,strong)NSString *facebookID;
@property (nonatomic,strong)NSString *userPSW;
@property (nonatomic,strong)NSString *userID;
@property (nonatomic,strong)NSMutableArray *friendsList;
@property (nonatomic,strong)NSMutableArray *groups;
@property (nonatomic,strong)NSData *audioMessage;
@property (nonatomic,strong)NSMutableArray *mimosToDownload;
@property (nonatomic,strong)NSMutableArray *mimosDownloaded;
@property (nonatomic,strong)friend *friendToSend; //Here is where a I get the error of unknown type name
@end
这是friend.h
#import <Foundation/Foundation.h>
#import "currentUser.h"
#import "Imager.h"
@interface friend : NSObject<NSCoding>
@property (nonatomic,strong)NSString *username;
@property (nonatomic,strong)NSString *userID;
@property (nonatomic,strong)UIImage *userImg;
@property(nonatomic,strong)NSMutableData *buffer;
@property(nonatomic)BOOL flagDownloaded;
-(UIImage*)downloadImageBlocked;
-(id)init;
-(UIImage*)getFriendImg;
-(UIImage*)userImg;
-(NSString*)getUserID;
-(NSString*)getUserName;
- (void)encodeWithCoder:(NSCoder *)encoder;
-(bool)isNil;
@end
首先修复你知道有问题的地方...
改变
@interface currentUser : NSObject<NSCoding>
{
BOOL fromfacebook;
@private
NSMutableArray *upLoadStack;
}
至
@interface User : NSObject<NSCoding>
{
BOOL fromfacebook;
@private
NSMutableArray *upLoadStack;
}
你不需要知道用户是否是当前用户就可以拥有用户的属性,将它们视为实际代表 objects.
变化:
@interface friend : NSObject<NSCoding>
至
@interface Friend : NSObject<NSCoding>
你知道这是错误的,现在就修正它,然后再修正 1000 个地方而不是 100 个地方。
约定在Objective-C中非常重要。
如果不需要,也不要将所有内容导入 header...
@class Friend; //forward class declaration
@interface currentUser : NSObject<NSCoding>
...
@property (nonatomic,strong)Friend *friendToSend; //Here is where a I get the error of unknown type name
至于你在 currentUser
中的 ivar,你不需要界面中的那些(它们可以放在 @implimentation 行之后的一个块中),除非你需要它们来实现向后兼容性...
我有一个名为朋友的对象(我知道,首字母应该大写)。我在许多其他 classes 和视图控制器中使用这个 class。
突然之间,在不更改任何代码的情况下,我拥有的每个自定义对象都不再相互识别。我总是收到错误 Unknown type name "friend".
我已经尝试清除项目并重新启动 mac。 这个 Xcode WTF 错了吗?突然间我的整个项目都停止工作了。
这是我的classcurrentUser.h
#import <Foundation/Foundation.h>
#import "friend.h"
@interface currentUser : NSObject<NSCoding>
{
BOOL fromfacebook;
@private
NSMutableArray *upLoadStack;
}
@property (nonatomic,strong)NSString *token;
@property (nonatomic,strong)NSString *email;
@property (nonatomic,strong)NSString *name;
@property (nonatomic,strong)UIImage *userImg;
@property (nonatomic,strong)NSString *username;
@property (nonatomic,strong)NSString *facebookID;
@property (nonatomic,strong)NSString *userPSW;
@property (nonatomic,strong)NSString *userID;
@property (nonatomic,strong)NSMutableArray *friendsList;
@property (nonatomic,strong)NSMutableArray *groups;
@property (nonatomic,strong)NSData *audioMessage;
@property (nonatomic,strong)NSMutableArray *mimosToDownload;
@property (nonatomic,strong)NSMutableArray *mimosDownloaded;
@property (nonatomic,strong)friend *friendToSend; //Here is where a I get the error of unknown type name
@end
这是friend.h
#import <Foundation/Foundation.h>
#import "currentUser.h"
#import "Imager.h"
@interface friend : NSObject<NSCoding>
@property (nonatomic,strong)NSString *username;
@property (nonatomic,strong)NSString *userID;
@property (nonatomic,strong)UIImage *userImg;
@property(nonatomic,strong)NSMutableData *buffer;
@property(nonatomic)BOOL flagDownloaded;
-(UIImage*)downloadImageBlocked;
-(id)init;
-(UIImage*)getFriendImg;
-(UIImage*)userImg;
-(NSString*)getUserID;
-(NSString*)getUserName;
- (void)encodeWithCoder:(NSCoder *)encoder;
-(bool)isNil;
@end
首先修复你知道有问题的地方...
改变
@interface currentUser : NSObject<NSCoding>
{
BOOL fromfacebook;
@private
NSMutableArray *upLoadStack;
}
至
@interface User : NSObject<NSCoding>
{
BOOL fromfacebook;
@private
NSMutableArray *upLoadStack;
}
你不需要知道用户是否是当前用户就可以拥有用户的属性,将它们视为实际代表 objects.
变化:
@interface friend : NSObject<NSCoding>
至
@interface Friend : NSObject<NSCoding>
你知道这是错误的,现在就修正它,然后再修正 1000 个地方而不是 100 个地方。
约定在Objective-C中非常重要。
如果不需要,也不要将所有内容导入 header...
@class Friend; //forward class declaration
@interface currentUser : NSObject<NSCoding>
...
@property (nonatomic,strong)Friend *friendToSend; //Here is where a I get the error of unknown type name
至于你在 currentUser
中的 ivar,你不需要界面中的那些(它们可以放在 @implimentation 行之后的一个块中),除非你需要它们来实现向后兼容性...