Im пытается вычислить разницу между двумя раз. я длительности от JSONArray.I использовать следующий код__NSCFString timeIntervalSinceReferenceDate]: непризнанный селектор, отправленный в экземпляр
NSDate *starttime = [[NSDate alloc]init];
NSDate *endtime = [[NSDate alloc]init];
starttime = [currentRecord valueForKey:@"starttime"];
endtime = [currentRecord valueForKey:@"endtime"];
проходят вышеуказанные значения к другому методу
+(NSString*)remaningTime:(NSDate*)startDate endDate:(NSDate*)endDate
{
NSDateComponents *components= [[NSDateComponents alloc]init];
NSString *durationString;
components = [[NSCalendar currentCalendar] components: NSCalendarUnitDay/*|NSCalendarUnitHour|NSCalendarUnitMinute*/ fromDate: endDate toDate: startDate options: 0];
}
, но я получаю ниже исключения
- [__ NSCFString timeIntervalSinceReferenceDate ]: непризнанный селектор, отправленный в пример 0x78685f80
2016-12-20 15:21:37.361 nexge[1515:183039] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString timeIntervalSinceReferenceDate]: unrecognized selector sent to instance 0x78685f80'
*** First throw call stack:
(
0 CoreFoundation 0x03abc212 __exceptionPreprocess + 194
1 libobjc.A.dylib 0x041d3e66 objc_exception_throw + 52
2 CoreFoundation 0x03b353dc -[NSObject(NSObject) doesNotRecognizeSelector:] + 172
3 CoreFoundation 0x03a3b34c ___forwarding___ + 1052
4 CoreFoundation 0x03a3af0e _CF_forwarding_prep_0 + 14
5 CoreFoundation 0x03a9b419 -[__NSCFCalendar components:fromDate:toDate:options:] + 393
6 CoreFoundation 0x03a9b217 -[_NSCopyOnWriteCalendarWrapper components:fromDate:toDate:options:] + 103
7 nexge 0x0003c2c8 +[callRecords remaningTime:endDate:] + 248
8 nexge 0x0003c0f9 -[callRecords initWithCallAmount:duration:start:end:destination:] + 393
9 nexge 0x00036321 -[callRecordsDataController addRecordWithCallAmount:duration:start:end:destination:] + 257
10 nexge 0x00036d0d -[callRecordsDataController connectionDidFinishLoading:] + 1165
11 CFNetwork 0x00464850 ___ZL32_NSURLConnectionDidFinishLoadingP16_CFURLConnectionPKv_block_invoke + 55
12 CFNetwork 0x004603b8 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke + 71
13 CFNetwork 0x00460369 -[NSURLConnectionInternalConnection invokeForDelegate:] + 142
14 CFNetwork 0x004602c7 -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 188
15 CFNetwork 0x004601f7 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 42
16 CFNetwork 0x00464814 _ZL32_NSURLConnectionDidFinishLoadingP16_CFURLConnectionPKv + 36
17 CFNetwork 0x00464769 ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 96
18 CFNetwork 0x00685f81 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 107
19 libdispatch.dylib 0x04cb0cc3 _dispatch_client_callout + 14
20 libdispatch.dylib 0x04c895f2 _dispatch_block_invoke_direct + 380
21 libdispatch.dylib 0x04c9497f ___dispatch_block_create_block_invoke + 20
22 CFNetwork 0x004600ce _ZN19RunloopBlockContext13_invoke_blockEPKvPv + 24
23 CoreFoundation 0x03a06ef9 CFArrayApplyFunction + 57
24 CFNetwork 0x0045ffc9 _ZN19RunloopBlockContext7performEv + 139
25 CFNetwork 0x005664a8 _ZThn16_N19RunloopBlockContext24multiplexerClientPerformEv + 20
26 CFNetwork 0x0045fe65 _ZN17MultiplexerSource7performEv + 319
27 CFNetwork 0x0045fc84 _ZN17MultiplexerSource8_performEPv + 62
28 CoreFoundation 0x03a5bcbf __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
29 CoreFoundation 0x03a3fdf7 __CFRunLoopDoSources0 + 519
30 CoreFoundation 0x03a3f284 __CFRunLoopRun + 1124
31 CoreFoundation 0x03a3ebab CFRunLoopRunSpecific + 395
32 CoreFoundation 0x03a3ea0b CFRunLoopRunInMode + 123
33 GraphicsServices 0x0575eb4c GSEventRunModal + 177
34 GraphicsServices 0x0575e9c7 GSEventRun + 80
35 UIKit 0x0225c32b UIApplicationMain + 148
36 nexge 0x0003702c main + 140
37 libdyld.dylib 0x04ceb799 start + 1
38 ??? 0x00000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
может кто-нибудь помочь?
'STARTTIME = [currentRecord valueForKey : @ "starttime"]; 'Кто сказал' [currentRecord valueForKey: @ "starttime"] 'является объектом NSDate? Это объект NSString. То же самое для 'enddate'. Вот что говорит ошибка. Кроме того, объект NSDate не может находиться в JSON, он должен быть строкой (некоторый формат ISO) или числом (меткой времени). – Larme
@ Larme, так как я могу это исправить? – Jeeva
Показывая значение '[currentRecord valueForKey: @" время начала "]', затем используйте 'NSDateFormatter', чтобы преобразовать его в' NSDate', или если это временная метка, в 'NSDate' есть метод для этого , – Larme