0
votes

I'm trying to implement pull to refresh in my cloud kit note app but I am getting the following error when I pull down to run refresh:

2016-01-24 12:36:01.078 ClipCloud2016Beta[13325:521249] -[ClipCloud2016Beta.MasterViewController HandleRefresh:]: unrecognized selector sent to instance 0x7fd77b4612f0 2016-01-24 12:36:01.084 ClipCloud2016Beta[13325:521249] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ClipCloud2016Beta.MasterViewController HandleRefresh:]: unrecognized selector sent to instance 0x7fd77b4612f0' * First throw call stack: ( 0 CoreFoundation 0x000000010db5ae65 exceptionPreprocess + 165 1 libobjc.A.dylib 0x000000010f89adeb objc_exception_throw + 48 2 CoreFoundation 0x000000010db6348d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205 3 CoreFoundation 0x000000010dab090a ___forwarding_ + 970 4 CoreFoundation 0x000000010dab04b8 _CF_forwarding_prep_0 + 120 5 UIKit 0x000000010e379194 -[UIApplication sendAction:to:from:forEvent:] + 92 6 UIKit 0x000000010e4e86fc -[UIControl sendAction:to:forEvent:] + 67 7 UIKit 0x000000010e4e89c8 -[UIControl _sendActionsForEvents:withEvent:] + 311 8 UIKit 0x000000010ececc0b -[UIRefreshControl _setRefreshControlState:notify:] + 456 9 UIKit 0x000000010ecf4ec3 52-[_UIRefreshControlModernContentView _snappingMagic]_block_invoke + 57 10 libdispatch.dylib 0x0000000110a8de5d _dispatch_call_block_and_release + 12 11 libdispatch.dylib 0x0000000110aae49b _dispatch_client_callout + 8 12 libdispatch.dylib 0x0000000110a93746 _dispatch_after_timer_callback + 334 13 libdispatch.dylib 0x0000000110aae49b _dispatch_client_callout + 8 14 libdispatch.dylib 0x0000000110aa18a5 _dispatch_source_latch_and_call + 1750 15 libdispatch.dylib 0x0000000110a9c830 _dispatch_source_invoke + 1057 16 libdispatch.dylib 0x0000000110a96111 _dispatch_main_queue_callback_4CF + 1324 17 CoreFoundation 0x000000010dabad09 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 9 18 CoreFoundation 0x000000010da7c2c9 __CFRunLoopRun + 2073 19 CoreFoundation 0x000000010da7b828 CFRunLoopRunSpecific + 488 20 GraphicsServices 0x0000000111a38ad2 GSEventRunModal + 161 21 UIKit 0x000000010e377610 UIApplicationMain + 171 22 ClipCloud2016Beta 0x000000010d81925d main + 109 23 libdyld.dylib 0x0000000110ae292d start + 1 24 ??? 0x0000000000000001 0x0 + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

I have enabled Refresh in storyboard of UITableview

Implemented the following in ViewDidLoad()

 self.refreshControl?.addTarget(self, action: "HandleRefresh:", forControlEvents: UIControlEvents.ValueChanged)

This is my refresh method:

    func handleRefresh(refreshControl: UIRefreshControl) {


    self.tableView.reloadData()
    refreshControl.endRefreshing()
}

It's worth nothing that the line self.tableView.reloadData() works elsewhere in my code.

Might also be worth nothing that when error occurs Xcode ends up in my AppDelegate class at this line

class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDelegate {
2
HandleRefresh vs handleRefresh - one timer upper case first letter, one time lower case first letter.luk2302
Thanks @luk2302, if you feel up to it I have another question I am stuck on in my profile :)Malorrr

2 Answers

1
votes

Issue solved by commenter

HandleRefresh vs handleRefresh spelling error between method and call.

0
votes

This fixed mine :

refreshControl.addTarget(self, action:
        #selector(ViewController.HandleRefresh(sender:)),
                             for: UIControlEvents.valueChanged)