0
votes

I have migrated my MacOS app to Xcode 11 and Swift 5. All is (was) well. However, I am trying to add a segue in the storyboard and when I do it automatically creates a new Connection that is an action. I am coming from an NSTableview where I want to double-click on a row and in that way trigger a different view controller (pre-defined) to open and I pass the selectedrow from the tableview in order to view or edit the detailed record. If I delete the Triggered Segues action it physically removes the segue. Having single action segue trigger as soon as I click on the tableview is NOT what I want.

enter image description here

I can however add a doubleAction under Sent Actions in order to make the double click on table rows work. I have perhaps 6 other tables that I doubleclick rows and in that was trigger other segues. All of those segues do not have the triggered segue single action as they were added before Xcode 11. I am a little worried that if a touch those segues in the storyboard that the system will force a triggered action on them.

The example "Connection" shown above works fine except that I get an error every time I click on a tableview row. This does not crash the app but it cannot be good.

I do not want a single click on the tableview to perform any function.

How can I removed the Triggered Seque action without the segue itself being removed?

Or, how can I add some code to stop this error:

adeLog[33872:23184897] -[TradeLog.ViewController perform:]: unrecognized selector sent to instance 0x102824600 2021-03-23 11:42:44.576862-0400 TradeLog[33872:23184897] [General] -[TradeLog.ViewController perform:]: unrecognized selector sent to instance 0x102824600 2021-03-23 11:42:44.577886-0400 TradeLog[33872:23184897] [General] ( 0 CoreFoundation 0x00007fff443319ad __exceptionPreprocess + 256 1 libobjc.A.dylib 0x00007fff6ea62a17 objc_exception_throw + 48 2 CoreFoundation 0x00007fff443ab7f4 -[NSObject(NSObject) __retain_OA] + 0 3 CoreFoundation 0x00007fff442d381f forwarding + 1485 4 CoreFoundation 0x00007fff442d31c8 _CF_forwarding_prep_0 + 120 5 AppKit 0x00007fff41b62644 -[NSApplication(NSResponder) sendAction:to:from:] + 312 6 AppKit 0x00007fff41bcc992 -[NSControl sendAction:to:] + 86 7 AppKit 0x00007fff41c2198f -[NSTableView _sendAction:to:row:column:] + 121 8 AppKit 0x00007fff41c1ff45 -[NSTableView mouseDown:] + 7381 9 AppKit 0x00007fff41aa5937 -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 5724 10 AppKit 0x00007fff419dc1a6 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2295 11 AppKit 0x00007fff419db667 -[NSWindow(NSEventRouting) sendEvent:] + 478 12 AppKit 0x00007fff4187ae4b -[NSApplication(NSEvent) sendEvent:] + 331 13 AppKit 0x00007fff418695c0 -[NSApplication run] + 755 14 AppKit 0x00007fff41858ac8 NSApplicationMain + 777 15 TradeLog 0x00000001001c0ead main + 13 16 libdyld.dylib 0x00007fff702313d5 start + 1 17 ??? 0x0000000000000003 0x0 + 3 so

1

1 Answers

0
votes

I found the answer to my question which I will explain. In the Interface Builder when creating the segue I was errantly connecting a specific tabelview within the scene it belongs to. All of the previous segues I had created which worked in the past had the source for the segue as being linked to the scene. When this is done the segue is setup as a "manual" segue.

The scene shows the manual segues....

enter image description here

And the tableview Triggered Seque action is now gone.

enter image description here

The application is working for me now without throwing errors.