(第一次发帖到论坛!)
我能够成功创建一个NSMutableArray,它在每个索引处都有一个自定义对象,但是当我在代码中的其他位置再次引用该Object时,我无法访问对象中的数据。
这是我将NSMutableArray输出到NSLog时的样子:
items = (
"<RSSFeedList: 0x682cbb0>",
"<RSSFeedList: 0x682f570>",
"<RSSFeedList: 0x68300a0>"
)
如您所见,在每个索引处我都有自定义对象。现在,我可以使用以下代码访问特定的对象:
[items objectAtIndex:1]
NSLog的哪些输出:
<RSSFeedList: 0x602f250>
但是,我想访问该对象中的信息,现在我被卡住了..那个对象结构看起来像这样:
@interface RSSFeedList : NSObject {
NSString *subject;
NSMutableArray *rssfeedDetail;
}
@property (nonatomic, retain) NSString *subject;
@property (nonatomic, retain) RSSFeedLists *rssfeedDetail;
我只想引用NSString“Subject”。
这就是我的尝试:
RSSFeedList *fl = [[RSSFeedList alloc] init];
fl = [items objectAtIndex:1];
NSString *subject = (NSString *) [fl getSubjectText];
我想要注意的是,这个代码块在另一个从另一个类接收NSMutableArray“item”的类中,这就是我重新实例化RSSFeedListObject的原因(不确定这部分是否正确) )
此外,getSubjectText在RSSFeedList类中定义,如下所示:
-(NSString *) getSubjectText{
return subject ;
}
当我尝试所有这些时,当我将其输出到NSLog时,我得到一个(null)值...任何想法???
非常感谢你!!
答案 0 :(得分:0)
您是否尝试过这样做:
RSSFeedList *fl = [items objectAtIndex:1];
NSString *subject = [fl getSubjectText];
此应该有效。您应该通过代码改进一些事项(例如使用带有@property
的{{1}} [顺便说一下应该是小写的]并确保您没有泄漏内存[您的Subject
+任务确实])但这应该是一个开始。
希望这有帮助!
答案 1 :(得分:0)
根据您的结果,您在RSSFeedList对象上设置主题值的方式似乎存在问题。我的猜测是,值未正确存储在主题值中。请查看以下代码,其中显示了RSSFeelList值的设置/检索示例:
RSSFeelList.h
see your code
RSSFeedList.m
@implementation RSSFeedList
@synthesize subject, rssfeedDetail;
// generates a usable log text
- (NSString *)description {
return [NSString stringWithFormat:@"RSSFeedList {subject=%@}", self.subject];
}
@end
其他* .m
// populate list
NSMutableArray *list = [[NSMutableArray alloc] init];
RSSFeedList *f = [[RSSFeedList alloc] init];
f.subject = @"test subject";
[list addObject:f];
[f release];
// access data
NSLog(@"Value = %@", list);
RSSFeedList *f2 = [list objectAtIndex:0];
NSString *s = f2.subject;
NSLog(@"Value = %@", s);
// ...
除非您复制或保留它,否则无需释放从数组中检索的值。否则,该值由Array本身管理。
希望这有帮助。