Quando chiamo determinati metodi che contengono richieste GET utilizzando AFHTTPRequestOperation Manager, a volte richiama erroneamente un altro blocco/chiusura di un'altra richiesta GET utilizzando Operation Manager.Swift: opzionali non confezionati in chiusura in AF Chiamata in rete
Questa è la linea 3 nel log degli errori di seguito:
partial apply forwarder for reabstraction thunk helper from @callee_owned (@in (Swift.ImplicitlyUnwrappedOptional<ObjectiveC.AFHTTPRequestOperation>,
Swift.ImplicitlyUnwrappedOptional<Swift.AnyObject>)) -> (@out()) to @callee_owned (@owned Swift.ImplicitlyUnwrappedOptional<ObjectiveC.AFHTTPRequestOperation>,
@owned Swift.ImplicitlyUnwrappedOptional<Swift.AnyObject>) -> (@unowned()) (AppDelegate.swift:615)
e il 2 ° riga:
reabstraction thunk helper from @callee_owned (@owned Swift.ImplicitlyUnwrappedOptional<ObjectiveC.AFHTTPRequestOperation>,
@owned Swift.ImplicitlyUnwrappedOptional<Swift.AnyObject>) -> (@unowned()) to @callee_owned (@in (Swift.ImplicitlyUnwrappedOptional<ObjectiveC.AFHTTPRequestOperation>,
Swift.ImplicitlyUnwrappedOptional<Swift.AnyObject>)) -> (@out()) with unmangled suffix "_constprop0" (GroupsDataSource.swift:365)
Ecco il log degli errori che ottengo.
Crashed: com.apple.main-thread
EXC_BREAKPOINT UNKNOWN at 0x0000000100147e48
Thread : Crashed: com.apple.main-thread
0 Kickit 0x0000000100147e48 Kickit.GroupsDataSource.(logoutForce (Kickit.GroupsDataSource) ->() ->()).(closure #1) (GroupsDataSource.swift:809)
1 Kickit 0x00000001001474dc Kickit.GroupsDataSource.(logoutForce (Kickit.GroupsDataSource) ->() ->()).(closure #1) (GroupsDataSource.swift:823)
2 Kickit 0x0000000100143074 reabstraction thunk helper from @callee_owned (@owned Swift.ImplicitlyUnwrappedOptional<ObjectiveC.AFHTTPRequestOperation>, @owned Swift.ImplicitlyUnwrappedOptional<Swift.AnyObject>) -> (@unowned()) to @callee_owned (@in (Swift.ImplicitlyUnwrappedOptional<ObjectiveC.AFHTTPRequestOperation>, Swift.ImplicitlyUnwrappedOptional<Swift.AnyObject>)) -> (@out()) with unmangled suffix "_constprop0" (GroupsDataSource.swift:365)
3 Kickit 0x0000000100193934 partial apply forwarder for reabstraction thunk helper from @callee_owned (@in (Swift.ImplicitlyUnwrappedOptional<ObjectiveC.AFHTTPRequestOperation>, Swift.ImplicitlyUnwrappedOptional<Swift.AnyObject>)) -> (@out()) to @callee_owned (@owned Swift.ImplicitlyUnwrappedOptional<ObjectiveC.AFHTTPRequestOperation>, @owned Swift.ImplicitlyUnwrappedOptional<Swift.AnyObject>) -> (@unowned()) (AppDelegate.swift:615)
4 libdispatch.dylib 0x00000001970253ac _dispatch_call_block_and_release + 24
5 libdispatch.dylib 0x000000019702536c _dispatch_client_callout + 16
6 libdispatch.dylib 0x0000000197029980 _dispatch_main_queue_callback_4CF + 932
7 CoreFoundation 0x0000000186241fa4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
8 CoreFoundation 0x000000018624004c __CFRunLoopRun + 1492
9 CoreFoundation 0x000000018616d0a4 CFRunLoopRunSpecific + 396
10 GraphicsServices 0x000000018f30f5a4 GSEventRunModal + 168
11 UIKit 0x000000018aaa23c0 UIApplicationMain + 1488
12 Kickit 0x0000000100193ca4 main (AppDelegate.swift:15)
13 libdyld.dylib 0x000000019704ea08 start + 4
Il blocco successo ecco AppDelegate: 615. GroupsDataSource: 365 e GroupsDataSource: 809 sono similmente strutturati.
let manager = AFHTTPRequestOperationManager()
var user_id : Int = NSUserDefaults.standardUserDefaults().objectForKey("user_id") as Int
if (justSeenEventIDs.count > 0){
manager.GET(serverURL+"users/seen_events.json",
parameters: ["user_id" : userID()!, "event_ids" : justSeenEventIDs],
success: { (operation: AFHTTPRequestOperation!,responseObject: AnyObject!) -> Void in
println("JSON: " + responseObject.description)
if (responseObject.isKindOfClass(NSDictionary)){
}
},
failure: { (operation: AFHTTPRequestOperation!,error: NSError!) -> Void in
println("Error: " + error.localizedDescription + " code: " + "\(error.code)")
})
}
}