出于某种原因,这条线似乎使我的应用程序崩溃。直到昨天它工作正常,我没有改变任何东西。但这是导致崩溃的行:
if (oldStrains.count < Strains.count) {
这是错误:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[NSConcreteMutableData 计数]:无法识别的选择器发送到实例 0x9c6e1d0”
有谁知道为什么会这样?下面是完整的方法:
AppDelegate.m
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
NSData *dataSave = [[NSUserDefaults standardUserDefaults] objectForKey:@"strains"];
NSMutableArray *oldStrains = [NSKeyedUnarchiver unarchiveObjectWithData:dataSave];
NSMutableSet *blankArray = [[NSMutableSet alloc] init];
// Strains = [NSJSONSerialization JSONObjectWithData:data options:nil error:nil];
Strains = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error:nil];
if (oldStrains.count < Strains.count) {
for (int x = oldStrains.count - 1; x < Strains.count; x++) {
[oldStrains addObject:[Strains objectAtIndex:x]];
}
}
if (Strains.count > 0) {
blankArray = [Strains copy];
NSSortDescriptor *sortDescriptor = nil;
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Title"
ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
Strains = [[blankArray allObjects] sortedArrayUsingDescriptors:sortDescriptors];
int count = 0;
for (NSDictionary *item in Strains) {
[item setValue:[NSNumber numberWithInt:count] forKey:@"position"];
count++;
}
dataSave = [NSKeyedArchiver archivedDataWithRootObject:Strains];
[[NSUserDefaults standardUserDefaults] setObject:dataSave forKey:@"strains"];
[strainsfinal addObjectsFromArray:Strains];
}
}
NSLogged oldStrains 和Strains。
oldStrains 回退:
<20205b7b 22537472 61696e49 64223a22 31222c22 5469746c 65223a22 41666768 616e6922 2c224465 73637269 7074696f 6e223a22 41666768 616e6920 69732061 20707572 65206361 6e6e6162 69732069 6e696469 63612073 74726169 6e207468 61742067 69766573 20746865 20757365 72206120 76657279 20737472 6f6e672c 20706172 74696361 6c6c7920 6e617263 6f746963 2c207068 79736963 616c2068 6967682e 20222c22 52617469 6e67223a 2234222c 22507269 63655065 72477261 6d223a22 24302e35 305c2f67 222c2252 656c6965 76657322 3a225061 696e222c 22466565 6c223a22 536c6565 7079222c 224e6567 61746976 6573223a 22447279 204d6f75 7468222c 2241696c 6d656e74 223a2243 616e6365 72222c22 41637469 6f6e223a 224e6175 73656122 2c22496e 67657374 696f6e22 3a224f69 6c227d2c 7b225374 7261696e 4964223a 2232222c 22546974 6c65223a 22416667 68616e69 6361222c 22446573 63726970 74696f6e 223a2241 2036355c 2f333520696e6469 63615c2f 73617469 76612068 79627269 64207468 61742067 726f7773 2077656c 6c20696e 2074656d 70657261 74652072 6567696f 6e732e20 222c2252 6174696e 67223a22 37222c22 50726963 65506572 4772616d 223a2224 302e3235 5c2f6722 2c225265 6c696576 6573223a 22486561 64616368 65222c22 4665656c 223a2243 72656174 69766522 2c224e65 67617469 76657322 3a224472 6f777369 6e657373 222c2241 696c6d65 6e74223a 22484956 222c2241 6374696f 6e223a22 41707065 74697465 222c2249 6e676573 74696f6e 223a2250 6c616e74 227d2c7b 22537472 61696e49 64223a22 33222c22 5469746c 65223a22 4166676f 6f222c22 44657363 72697074 696f6e22 3a224166 676f6f20 69732061 6e20696e 64696361 2d646f6d 696e616e 74207374 7261696e 20746861 74206861 73206120 73776565 7420616e 64207069 6e657920 7363656e 742e2049 6620796f 75206172 65206c6f 6f6b696e 6720666f 72206120 676f6f64 206e6967 68742773 2072657374207468 656e2061 66676f6f 20636f75 6c642062 65207468 65207374 7261696e 20666f72 20796f75 2e222c22 52617469 6e67223a 2232222c 22507269 63655065 72477261 6d223a22 24302e37 355c2f67 222c2252 656c6965 76657322 3a224578 68617573 74696f6e 222c2246 65656c22 3a224578 63697465 64222c22 4e656761 74697665 73223a22 4e617573 6561222c 2241696c 6d656e74 223a2241 72746872 69746973 222c2241 6374696f 6e223a22 5061696e 222c2249 6e676573 74696f6e 223a2245 6469626c 65227d2c 7b225374 7261696e 4964223a 2234222c 22546974 6c65223a 22412d31 30222c22 44657363 72697074 696f6e22 3a224f72 6967696e 6174696e 67206672 6f6d2074 68652048 696e6475 204b7573 68206d6f 756e7461 696e7320 6f662041 66676861 6e697374 616e2c20 412d3130 20686173 20616e20 65617274 68792c20 68617368 74792074 61737465 20746861 74207072 6f766964 65732061 20766572 79206865 61767920 626f6479 2073746f 6e652e222c225261 74696e67 223a2236 222c2250 72696365 50657247 72616d22 3a222431 2e32395c 2f67222c 2252656c 69657665 73223a22 4e617573 6561222c 22466565 6c223a22 43726561 74697665 222c224e 65676174 69766573 223a2244 726f7773 696e6573 73222c22 41696c6d 656e7422 3a22496e 736f6d6e 6961222c 22416374 696f6e22 3a224e61 75736561 222c2249 6e676573 74696f6e 223a2250 6c616e74 227d2c7b 22537472 61696e49 64223a22 35222c22 5469746c 65223a22 416c6f68 61222c22 44657363 72697074 696f6e22 3a22416c 6f686120 69732061 20736174 69766120 73747261 696e2074 68617420 6c656176 65732075 73657273 20776974 6820616e 20757062 6561742c 20656e65 72676574 69632062 757a7a20 616e6420 6d617920 616c736f 20626520 68656c70 66756c20 696e2074 72656174 696e6720 7061696e 20737563 68206173 206d6967 7261696e 65732e22 2c225261 74696e67 223a2231 30222c22 50726963 65506572 4772616d 223a2224 3130305c2f67222c 2252656c 69657665 73223a22 44657072 65737369 6f6e222c 22466565 6c223a22 416d617a 696e6722 2c224e65 67617469 76657322 3a224372 617a696e 65737322 2c224169 6c6d656e 74223a22 4d696772 61696e65 73222c22 41637469 6f6e223a 22466576 6572222c 22496e67 65737469 6f6e223a 22506f77 64657222 7d2c7b22 53747261 696e4964 223a2236 222c2254 69746c65 223a2242 69672042 7564222c 22446573 63726970 74696f6e 223a2242 69672042 75642069 7320706f 70756c61 7220616d 6f6e6720 67726f77 65727320 62656361 75736520 69742773 206c6567 656e6461 72792066 6f722069 74732068 69676820 7969656c 642e2054 68652070 6c616e74 2070726f 64756365 73206d61 73736976 65206275 64732077 69746820 76657279 20666577 206c6561 7665732e 222c2252 6174696e 67223a22 3130222c 22507269 63655065 72477261 6d223a22 24302e37 355c2f67 222c2252 656c6965 76657322 3a225061 696e222c 22466565 6c223a22 4372617a79222c22 4e656761 74697665 73223a22 48756e67 6572222c 2241696c 6d656e74 223a2248 4956222c 22416374 696f6e22 3a224170 70657469 7465222c 22496e67 65737469 6f6e223a 22456469 626c6522 7d2c7b22 53747261 696e4964