Follow this simple rule: CKComponentAction selectors should be implemented in the same file they are referenced.
The following counterexample establishes a hidden coupling between the parent and child component. If another component tries to use ChildComponent or if the method is renamed in ParentComponent, it will crash at runtime.
Instead, always pass selectors from parents to children. In the following example, it is explicit that the child component needs a CKComponentAction selector. If the parent component renames the someAction: method, it’s far easier to catch renaming the parameter.