Skip to content

Files

Latest commit

 

History

History
98 lines (61 loc) · 1.54 KB

private_action.md

File metadata and controls

98 lines (61 loc) · 1.54 KB

Pattern: Non-private @IBAction

Issue: -

Description

IBActions should be private.

Examples of correct code:

class Foo {
	@IBAction private func barButtonTapped(_ sender: UIButton) {}
}


struct Foo {
	@IBAction private func barButtonTapped(_ sender: UIButton) {}
}


class Foo {
	@IBAction fileprivate func barButtonTapped(_ sender: UIButton) {}
}


struct Foo {
	@IBAction fileprivate func barButtonTapped(_ sender: UIButton) {}
}


private extension Foo {
	@IBAction func barButtonTapped(_ sender: UIButton) {}
}


fileprivate extension Foo {
	@IBAction func barButtonTapped(_ sender: UIButton) {}
}

Examples of incorrect code:

class Foo {
	@IBAction func barButtonTapped(_ sender: UIButton) {}
}


struct Foo {
	@IBActionfunc barButtonTapped(_ sender: UIButton) {}
}


class Foo {
	@IBAction publicfunc barButtonTapped(_ sender: UIButton) {}
}


struct Foo {
	@IBAction publicfunc barButtonTapped(_ sender: UIButton) {}
}


class Foo {
	@IBAction internalfunc barButtonTapped(_ sender: UIButton) {}
}


struct Foo {
	@IBAction internalfunc barButtonTapped(_ sender: UIButton) {}
}


extension Foo {
	@IBActionfunc barButtonTapped(_ sender: UIButton) {}
}


extension Foo {
	@IBAction publicfunc barButtonTapped(_ sender: UIButton) {}
}


extension Foo {
	@IBAction internalfunc barButtonTapped(_ sender: UIButton) {}
}


public extension Foo {
	@IBActionfunc barButtonTapped(_ sender: UIButton) {}
}


internal extension Foo {
	@IBActionfunc barButtonTapped(_ sender: UIButton) {}
}