Objective C to Swift [closed]

I don’t know how to convert your code to swift exactly, but I can offer a better way to implement this:

extension UIView 
{
    func firstResponder() -> UIView?
    {
        if (self.isFirstResponder) 
        {
            return self
        }
        for subview in subviews
        {
            if let responder = subview.firstResponder()
            {
                return responder
            }
        }
        return nil
    }
}

Update: the FXFormsFirstResponder() is just a c function (not Objective-c), but with some Obj-c code inside. This is not very good manner to mix object-oriented and procedural style, but you can implement it with a global function in swift:

func FXFormsFirstResponder(view: UIView) -> UIView?
{
    if (view.isFirstResponder) 
    {
        return view
    }
    for subview in view.subviews
    {
        if let responder = FXFormsFirstResponder(subview)
        {
            return responder
        }
    }
    return nil
}

Leave a Comment