这是我的自定义类:
ClassA.h
@interface ClassA : NSObject<RKRequestDelegate>{
NSString *uri;
NSString *folderUri;
NSInteger idFolder;
NSString *kind;
bool isMine;
CustomUser *owner;
NSMutableArray *usersAdministrators;
NSMutableArray *usersContributors;
NSMutableArray *usersReaders;
NSString *visibility;
NSString *name;
NSString *description;
NSMutableArray *comments;
}
@property (nonatomic,copy) NSString *uri;
@property (nonatomic,copy) NSString *folderUri;
@property (nonatomic,assign) NSInteger idFolder;
@property (nonatomic,copy) NSString *kind;
@property (nonatomic,assign) bool isMine;
@property (retain) DMIUser *owner;
@property (nonatomic,copy) NSMutableArray *usersAdministrators;
@property (nonatomic,copy) NSMutableArray *usersContributors;
@property (nonatomic,copy) NSMutableArray *usersReaders;
@property (nonatomic,copy) NSString *visibility;
@property (nonatomic,copy) NSString *name;
@property (nonatomic,copy) NSString *description;
@property (nonatomic,copy) NSMutableArray *comments;
@end
ClassA.m
@implementation ClassA
@synthesize uri,folderUri,idFolder,kind,isMine,owner,usersAdministrators,usersContributors,usersReaders,visibility,name,description,comments;
-(NSString*)description {
return @"ClassA";
}
@end
非常简单。但是当我尝试创建这个的新实例时,就像这样:
datas = [NSMutableArray array]; // Tried with [[NSMutableArray alloc] init] => same thing
ClassA *classA = [[ClassA alloc] init];
[datas addObject:classA];
NSLog(@"classA = %@",classA);
NSLog(@"datas = %@",datas);
第一个NSLog返回“ClassA”。 第二个NSLog返回“datas =()”
这里有什么问题?我总是创造这样的课程,我从来没有像这样的问题。 谢谢!
答案 0 :(得分:1)
好的guyzzz我发现了这个问题。这是我的属性:
NSString *description;
似乎iOs不喜欢那样。它与NSObject中的-description方法冲突... 之后,我在这里发现了一个类似的问题: Why can't I use "description" as an attribute name for a Core Data entity?
干杯
答案 1 :(得分:0)
如果你想在ClassA中返回一些值实现方法描述
- (NSString *)description {
return @"ClassA";
}
答案 2 :(得分:0)
你拥有所需的一切。你确定你指定的变量不是弱变量吗?所有委托属性都很弱,因此不保留对象。我的猜测是你正在做这样的事情
someObject.delegate = [[ClassA alloc] init];
NSLog(@"%@", someObject.delegate);
因为委托属性为weak
,所以它不会保留变量。
编辑: 整个答案假设您正在使用ARC。如果没有,请不要理会。 p>