我一直在这一段时间卡住了,但发生了什么是,当请求从mysql返回有一个空值,但我如何检查空值已经打我的条件我不把这个值存储在数组中。该代码是下面目标c - 获得空值
我不断收到是错误 - [NSNull isEqualToString:]:无法识别和即时通讯试图阵列绑定的tableview内
- (void)viewDidLoad {
JobAddSiteAppDelegate *ja = (JobAddSiteAppDelegate *)[[UIApplication sharedApplication] delegate];
tempArray = [[NSMutableArray alloc] init];
NSString *strURL = [NSString stringWithFormat:@"http://www.bestitjobs.co.uk/appresults3.php", ""];
NSData *nsData = [NSData dataWithContentsOfURL:[NSURL URLWithString: strURL]];
//NSLog(@"JSON: %@", nsData);
//NSString *strResult = [[[NSString alloc] initWithData:nsData encoding:NSUTF8StringEncoding] autorelease];
//NSLog(@"Result: %@",strResult);
//NSError *e = nil;
JSONDecoder* decoder = [[JSONDecoder alloc] init];
NSDictionary* listDictionary = [nsData objectFromJSONData];
NSArray* people =[listDictionary objectForKey:@"jobs"];
for (NSDictionary *person in people) {
NSLog(@"people %@",people);
if([person objectForKey:@"position"] != [NSNull class])
{
NSString *position = [person objectForKey:@"position"];
NSLog(@"position %@",position);
[tempArray addObject: position];
}
}
self.listData = tempArray;
[tempArray release];
[listData release];
[super viewDidLoad];
}
错误
2012年12月6日12 :22:11.314 JobAddSite [7718:207]职位高级网络和系统顾问 2012-12-06 12:22:11.316 JobAddSite [7718:207]职位SAP Business One/SAP B1顾问伦敦 2012-12-06 12: 22:11.317 JobAddSite [7718:207]职位业务拓展经理 - 市场领先的IT公司-12-06 12:22:11.318 JobAddSite [7718:207] - [NSNull isEqualToString:]:无法识别的选择器发送到实例0xe565e8 2012年12月6日2012年12月6日12:22:11.321 JobAddSite [7718:207] *终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因: ' - [NSNull isEqualToString:]:无法识别的选择发送到实例0xe565e8' *调用堆栈在第一掷: ( 0的CoreFoundation 0x00de95a9 exceptionPreprocess + 185 1 libobjc.A 。dylib 0x00f3d313 objc_exception_throw + 44 2的CoreFoundation 0x00deb0bb - [NSObject的(NSObject的)doesNotRecognizeSelector:] + 187 3的CoreFoundation 0x00d5a966 __ 转发 + 966 4的CoreFoundation 0x00d5a522 _CF_forwarding_prep_0 + 50 5 JobAddSite 0x000024cd - [ResultViewController viewDidLoad中] + 604 6 UIKit的0x00389089 - [UIViewController的视图] + 179 7的UIKit 0x0038aa3d - [UIViewController中viewControllerForRotation] + 63 8的UIKit 0x00386988 - [UIViewController中_visibleView] + 90 9的UIKit 0x0062893c - [UIClientRotationContext initWithClient:toOrientation:持续时间:andWindow:] + 354 10的UIKit 0x0030081e - [一个UIWindow _setRotatableClient:toOrientation:updateStatusBar:持续时间:力:] + 954 11的UIKit 0x00588619 - [UIWindowController过渡:fromViewController:toViewController:目标:didEndSelector:] + 1381 12的UIKit 0x0038d65d - [UIViewController中presentModalViewController:withTransition :] + 3478 13 JobAddSite 0x0000213f - [JobAddSiteViewController搜索] + 270 14的UIKit 0x002d94fd - [UIApplication的sendAction:为:从:forEvent:] + 119 15的UIKit 0x00369799 - [UIControl sendAction:至:forEvent:] + 67 16 UIKit 0x0036bc2b - [UIControl(Internal)_sendActionsForEvents:withEvent:] + 527 17 UIKit 0x0036a7d8 - [UIControl touchesEnded:withEvent:] + 458 18 UIKit 0x002fdded - [一个UIWindow _sendTouchesForEvent:] + 567 19的UIKit 0x002dec37 - [UIApplication的的SendEvent:] + 447 20的UIKit 0x002e3f2e _UIApplicationHandleEvent + 7576个 21 GraphicsServices 0x01741992 PurpleEventCallback + 1550 22的CoreFoundation 0x00dca944 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 52 23的CoreFoundation 0x00d2acf7 __CFRunLoopDoSource1 + 215 24的CoreFoundation 0x00d27f83 __CFRunLoopRun + 979 25的CoreFoundation 0x00d27840 CFRunLoopRunSpecific + 208 26的CoreFoundation 0x00d27761 CFRunLoopRunInMode + 97个 27 GraphicsServices 0x017401c4 GSEventRunModal + 217 个28 GraphicsServices 0x01740289 GSEventRun + 115 29的UIKit 0x002e7c93 UIApplicationMain + 1160 30 JobAddSite 0x00001dec主+ 102 31 JobAddSite 0x00001d7d启动+ 53 ) 终止称为投掷的 'NSException'
你用什么JSON格式? – 2012-12-06 11:03:51
PREMKUMAR,即时通讯使用JSONKit – redoc01
它也是像SBJson一样获得响应后都一样 – 2012-12-06 11:59:19