ios字典总是显示为空 H
当我点击断点时,ios字典总是显示为空 H,ios,Ios,当我点击断点时,self.\u data的值为nil。但是,asdf的值是我在self.\u data中期望的正确字典值。有什么好处 背景故事:当我使用ARC/GC语言时,我是一个n00b。你把断点放在哪一行代码上?如果它只是一个空行,它实际上会在上一个有效代码行中断,这可能是在设置self.\u数据之前 尝试放置NSLog(@“data%@),self.\u数据);而不是断点,并查看记录的内容 顺便说一句,我看到你有[xml版本],你把它注释掉了,大概是因为它不起作用。此行错误的原因是[XML
self.\u data
的值为nil
。但是,asdf
的值是我在self.\u data
中期望的正确字典值。有什么好处
背景故事:当我使用
ARC
/GC
语言时,我是一个n00b。你把断点放在哪一行代码上?如果它只是一个空行,它实际上会在上一个有效代码行中断,这可能是在设置self.\u数据之前
尝试放置NSLog(@“data%@),self.\u数据);而不是断点,并查看记录的内容
顺便说一句,我看到你有[xml版本],你把它注释掉了,大概是因为它不起作用。此行错误的原因是[XMLReader dictionaryForXMLString…]返回一个不应再次释放的自动释放对象
一般来说,在Objective-C中,如果一个方法名不是以“new”、“alloc”或“copy”开头,那么它会返回一个自动释放的对象,您不需要释放自己。这看起来像是一直在工作,但出于某种奇怪的原因,
self的值是
。我还发现添加NSDictionary*asdf=self.\u数据代码>在分配self.\u data
之后,asdf
显示为正确的数据!奇怪的
#import <UIKit/UIKit.h>
@interface LoginViewController : UIViewController <UITextFieldDelegate>
@property (nonatomic, retain) NSDictionary *_data;
@end
#import "LoginViewController.h"
#import "XMLReader.h"
@implementation LoginViewController
static NSDictionary *_raceInformation;
@synthesize _data, bibInput, lastNameInput, error;
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
NSError *e = [NSError alloc];
NSString *xml = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"testhalfmarathon" ofType:@"xml"] encoding:NSUTF8StringEncoding error:&e];
NSDictionary *asdf = [XMLReader dictionaryForXMLString:xml error:nil];
self._data = [XMLReader dictionaryForXMLString:xml error:nil];
//[xml release];
//[e release];
// !! BREAKPOINT HERE
}
return self;
}