1

我创建了这个类来存储关于 CD-rooms 的 Rss 提要:

CdObject.h

@interface CdObject : NSObject{


NSString *title,*artist,*country,*company,*price,*year;

}

@property(nonatomic,retain)NSString *title,*artist,*country,*company,*price,*year;

光盘对象.m

#import "CdObject.h"

@implementation CdObject
@synthesize title,artist,country,company,price,year;

@end

然后在解析 xml 时,我正在创建此类的新实例,填充它们的属性(标题、艺术家等)并将它们推入 NSMutableArray(cdListArray)

我如何从 cdListArray 中读取其中一个对象的属性?

Ex:NSLog(@"%@",[cdListArray objectAtIndex:0].title) ??? 
4

4 回答 4

3

恕我直言,在所有这种情况下,最简单的方法是valueForKey:它的兄弟valueForKeyPath:

于 2012-05-15T16:13:10.497 回答
1

尝试NSLog(@"%@",((CdObject*)[cdListArray objectAtIndex:0]).title)

于 2012-05-15T15:58:29.147 回答
1

您只需将其转换为您想要的对象。如果您对这种方式的类型转换感到偏执,您还可以在转换之前检查对象的类。

前任:

NSObject *firstObject = [cdListArray objectAtIndex:0];
if ( [firstObject isKindOfClass:[CdObject class]] )
{
    CdObject* cdFirstObject = (CdObject*)firstObject;
    NSLog(@"%@", cdFirstObject.title;
}
于 2012-05-15T16:00:27.030 回答
0

我认为你需要投:

NSLog(@"%@",[(CdObject *)[cdListArray objectAtIndex:0]] title);  
于 2012-05-15T16:00:00.493 回答