如何访问存储在数组中的类中的字符串?

时间:2011-04-30 09:21:15

标签: iphone objective-c cocoa-touch

我有一个字符串(titleName)存储在一个存储在数组(myLibrary)中的类(newNoteBook)中。我试图访问它,但我只在日志中打印(null)。

我做错了什么?

-(void) setupLibrary {

    NoteBook *newNoteBook = [[NoteBook alloc] init];

    newNoteBook.titleName = @"TEST";
    NSLog(@"titleName:%@", newNoteBook.titleName); // this prints TEST in the log
    [myLibrary addObject:newNoteBook];
    NSLog(@"titleName:%@", [[self.myLibrary objectAtIndex:0] titleName]); // this prints (null) in the log)
}

我班上没什么好看的......简单地说:

@interface NoteBook : NSObject {

NSString *titleName; }


@property (nonatomic, retain) NSString *titleName;
@end

@implementation NoteBook
@synthesize titleName;

4 个答案:

答案 0 :(得分:2)

试试这个

NSLog(@"titleName:%@", ((NoteBook *)[self.myLibrary objectAtIndex:0]).titleName);

答案 1 :(得分:1)

答案 2 :(得分:1)

我认为你不是数组中的类型转换对象 -

NSLog(@"titleName:%@", [(NoteBook*)[self.myLibrary objectAtIndex:0] titleName]);

你应该在添加对象之前分配你的数组 -

myLibrary = [[NSMutableArray alloc] init];

答案 3 :(得分:1)

NSLog(@"titleName:%@", [self.myLibrary objectAtIndex:0].titleName);

在你不需要演员之前,他们说的是正确的。