Ios 从与索引路径无关的internet上的Xcode获取错误
我在互联网上搜索了一下,但没有得到任何结果。我的ios应用程序只是一个简单的导航控制器,带有一个indexpath,可以将自定义动态单元格中选定行的标题发送到uilabel。需要注意的是,数据源来自mysql,该mysql是在名为coolarray的nsarray中解析的xml。该错误发生在移动到下一个视图之前,并在日志中显示为:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“[\uu NSDictionaryI isEqualToString:]:未识别的选择器发送到实例0x8887670”。但是,它确实给出了indexPathrow的nslog结果:0或1或选择的任何内容。将数组传递到uilabel时一定有问题,但我无法解决!我省略了自定义单元格的代码,因为这不太可能是错误的原因,而且工作正常,而且非常简单。这是我在上一个问题的后续问题,但该代码不再相关,因为正如您在下面看到的,我的代码已经发生了很大的变化 ViewController.hIos 从与索引路径无关的internet上的Xcode获取错误,ios,xcode,uitableview,Ios,Xcode,Uitableview,我在互联网上搜索了一下,但没有得到任何结果。我的ios应用程序只是一个简单的导航控制器,带有一个indexpath,可以将自定义动态单元格中选定行的标题发送到uilabel。需要注意的是,数据源来自mysql,该mysql是在名为coolarray的nsarray中解析的xml。该错误发生在移动到下一个视图之前,并在日志中显示为:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“[\uu NSDictionaryI isEqualToString:]
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
#import "Player.h"
@interface ViewController : UIViewController<UITableViewDelegate, UITableViewDataSource,
CLLocationManagerDelegate,NSXMLParserDelegate, UISearchBarDelegate> {
IBOutlet UISearchBar *searchBar;
CLLocationManager *locationManager;
NSMutableArray *coolarray;
float latitude;
float longitude;
}
@property(nonatomic,strong) IBOutlet UITableView * tableView;
@property (nonatomic, retain) CLLocationManager *locationManager;
@end
加载ViewController.h我的详细信息视图
#import <UIKit/UIKit.h>
@interface LoadingViewController : UIViewController
{
}
@property (nonatomic, retain) IBOutlet UILabel *myLabel;
@property (nonatomic, retain) NSString *myProgLang;
@end
#import "LoadingViewController.h"
@interface LoadingViewController ()
@end
@implementation LoadingViewController
@synthesize myLabel, myProgLang;
- (void)viewDidLoad {
[super viewDidLoad];
myLabel.text = myProgLang;
[[self navigationController] setNavigationBarHidden:YES];
}
- (void)dealloc {
[myLabel release];
[myProgLang release];
[super dealloc];
}
@end
问题是数组似乎是字典对象的集合。当您将要分段时,您正在从对象中取出一个字典,并试图将其存储为NSString属性 尝试按如下方式更改prepareForSegue:方法:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([segue.identifier isEqualToString:@"showDetail"])
{
NSIndexPath * indexPath=[self->_tableView indexPathForSelectedRow];
LoadingViewController* destViewController= segue.destinationViewController;
destViewController.myProgLang=[[coolarray objectAtIndex:indexPath.row] objectForKey:@"name"];
NSLog(@"indexPathrow:%d",indexPath.row);
}
}
再次感谢!这是你为我解决的第四个问题。我真是太感谢你了!
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([segue.identifier isEqualToString:@"showDetail"])
{
NSIndexPath * indexPath=[self->_tableView indexPathForSelectedRow];
LoadingViewController* destViewController= segue.destinationViewController;
destViewController.myProgLang=[[coolarray objectAtIndex:indexPath.row] objectForKey:@"name"];
NSLog(@"indexPathrow:%d",indexPath.row);
}
}