与服务器成功(:D)通信后,我想解析一个返回我的xml文件。根据我要打印的内容,我认为解析进行得很好。问题是我是NSXMLParser的新手,非常新手,无法在模拟器的设备屏幕上的小行部分中全部打印出来。我显示行,但它们是空的,没有任何显示。如果习惯了NSXMLParser或其他任何功能的人可以给我建议或告诉我它是否变得混乱,请执行以下操作:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [stories count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];
}
// Set up the cell
int storyIndex = [indexPath indexAtPosition: [indexPath length] - 1];
[cell setText:[[stories objectAtIndex: storyIndex] objectForKey: @"sizing"]];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Navigation logic
int storyIndex = [indexPath indexAtPosition: [indexPath length] - 1];
NSString * storyLink = [[stories objectAtIndex: storyIndex] objectForKey: @"module"];
storyLink = [storyLink stringByReplacingOccurrencesOfString:@" " withString:@""];
storyLink = [storyLink stringByReplacingOccurrencesOfString:@"\n" withString:@""];
storyLink = [storyLink stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"link: %@", storyLink);
//open in safari
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:storyLink]];
}
最佳答案
如果您确信自己的xml响应已被很好地解析(并且[stories count]
返回18行这一事实似乎至少可以正常工作)...
请在-cellFOrRowAtIndexPath中尝试此操作
...
// Set up the cell
NSString *strSizing = [[stories objectAtIndex:indexPath.row]
objectForKey:@"sizing"];
[cell setText:strSizing];
//optional: uncomment the following line
//stories;
//enable breakpoint on this line
return cell;
}
当断点激活时,检查您在
strSizing
中得到的内容,或者只是检查整个stories
对象以获得更好的主意。我现在没有我的xcode,所以请耐心和我的简单建议
关于objective-c - NSXMLParser NSString,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19792804/