Weitere ähnliche Inhalte
Ähnlich wie VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法 (20)
Mehr von Kenji Tanaka (20)
Kürzlich hochgeladen (20)
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
- 11. class TimelineTableViewController: UITableViewController {
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
TwitterManager.getTimeline() { [weak self] timeline in
self?.timeline = timeline
self?.showEmptyViewIfNeeded(timeline)
}
}
private func showEmptyViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems == 0 {
emptyView.isHidden = false
} else {
emptyView.isHidden = true
}
}
}
- 12.
class TimelineTableViewController: UITableViewController {
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
TwitterManager.getTimeline() { [weak self] timeline in
self?.timeline = timeline
self?.showEmptyViewIfNeeded(timeline)
}
}
private func showEmptyViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems == 0 {
emptyView.isHidden = false
} else {
emptyView.isHidden = true
}
}
}
- 17. class TimelineTableViewController: UITableViewController {
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
TwitterManager.getTimeline() { [weak self] timeline in
self?.timeline = timeline
self?.showEmptyViewIfNeeded(timeline)
}
}
private func showEmptyViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems == 0 {
emptyView.isHidden = false
} else {
emptyView.isHidden = true
}
}
}
- 18. class TimelineTableViewController: UITableViewController {
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
TwitterManager.getTimeline() { [weak self] timeline in
self?.timeline = timeline
self?.showEmptyViewIfNeeded(timeline)
}
}
private func showEmptyViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems == 0 {
emptyView.isHidden = false
} else {
emptyView.isHidden = true
}
}
}
- 26.
class TimelineTableViewController: UITableViewController {
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
@IBOutlet weak var adView: AdView!
override func viewDidLoad() {
super.viewDidLoad()
TwitterManager.getTimeline() { [weak self] timeline in
self?.timeline = timeline
self?.showEmptyViewIfNeeded(timeline)
self?.showAdViewIfNeeded(timeline)
}
}
private func showEmptyViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems == 0 {
emptyView.isHidden = false
} else {
emptyView.isHidden = true
}
}
private func showAdViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems >= 1 && timeline?.numberOfItems <= 3 {
adView.isHidden = false
} else {
adView.isHidden = true
}
}
}
- 27.
class TimelineTableViewController: UITableViewController {
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
@IBOutlet weak var adView: AdView!
@IBOutlet weak var loginView: LoginView!
private var isLogined = false
override func viewDidLoad() {
super.viewDidLoad()
LoginManager.login() { [weak self] isSucceed in
if isSucceed {
self?.isLogined = true
TwitterManager.getTimeline() { [weak self] timeline in
self?.timeline = timeline
self?.showEmptyViewIfNeeded(timeline)
self?.showAdViewIfNeeded(timeline)
}
} else {
self?.isLogined = false
}
self?.showLoginViewIfNeeded()
}
}
private func showEmptyViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems == 0 {
emptyView.isHidden = false
} else {
emptyView.isHidden = true
}
}
private func showAdViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems >= 1 && timeline?.numberOfItems <= 3 {
adView.isHidden = false
} else {
adView.isHidden = true
}
}
private func showLoginViewIfNeeded() {
if isLogined {
loginView.isHidden = true
} else {
loginView.isHidden = false
}
}
}
- 28. class TimelineTableViewController: UITableViewController {
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
@IBOutlet weak var adView: AdView!
@IBOutlet weak var loginView: LoginView!
private var isLogined = false
override func viewDidLoad() {
super.viewDidLoad()
LoginManager.login() { [weak self] isSucceed in
guard let `self` = self else { return }
if isSucceed {
TwitterManager.getTimeline() { [weak self] timeline in
guard let `self` = self else { return }
self.timeline = timeline
self.showEmptyViewIfNeeded(timeline)
self.showAdViewIfNeeded(timeline)
self.showLoginViewIfNeeded()
}
}
}
}
private func showEmptyViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems == 0 {
emptyView.isHidden = false
} else {
emptyView.isHidden = true
}
}
private func showAdViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems >= 1 && timeline?.numberOfItems <= 3 {
adView.isHidden = false
} else {
adView.isHidden = true
}
}
private func showLoginViewIfNeeded() {
if isLogined {
loginView.isHidden = true
} else {
loginView.isHidden = false
}
}
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
@IBOutlet weak var adView: AdView!
@IBOutlet weak var loginView: LoginView!
private var isLogined = false
override func viewDidLoad() {
super.viewDidLoad()
}
}
- 29. class TimelineTableViewController: UITableViewController {
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
@IBOutlet weak var adView: AdView!
@IBOutlet weak var loginView: LoginView!
private var isLogined = false
override func viewDidLoad() {
super.viewDidLoad()
LoginManager.login() { [weak self] isSucceed in
guard let `self` = self else { return }
if isSucceed {
TwitterManager.getTimeline() { [weak self] timeline in
guard let `self` = self else { return }
self.timeline = timeline
self.showEmptyViewIfNeeded(timeline)
self.showAdViewIfNeeded(timeline)
self.showLoginViewIfNeeded()
}
}
}
}
private func showEmptyViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems == 0 {
emptyView.isHidden = false
} else {
emptyView.isHidden = true
}
}
private func showAdViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems >= 1 && timeline?.numberOfItems <= 3 {
adView.isHidden = false
} else {
adView.isHidden = true
}
}
private func showLoginViewIfNeeded() {
if isLogined {
loginView.isHidden = true
} else {
loginView.isHidden = false
}
}
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
@IBOutlet weak var adView: AdView!
@IBOutlet weak var loginView: LoginView!
private var isLogined = false
override func viewDidLoad() {
super.viewDidLoad()
LoginManager.login() { [weak self] isSucceed in
guard let `self` = self else { return }
if isSucceed {
TwitterManager.getTimeline() { [weak self] timeline in
guard let `self` = self else { return }
self.timeline = timeline
self.showEmptyViewIfNeeded(timeline)
self.showAdViewIfNeeded(timeline)
self.showLoginViewIfNeeded()
}
}
}
}
}
- 30. class TimelineTableViewController: UITableViewController {
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
@IBOutlet weak var adView: AdView!
@IBOutlet weak var loginView: LoginView!
private var isLogined = false
override func viewDidLoad() {
super.viewDidLoad()
LoginManager.login() { [weak self] isSucceed in
guard let `self` = self else { return }
if isSucceed {
TwitterManager.getTimeline() { [weak self] timeline in
guard let `self` = self else { return }
self.timeline = timeline
self.showEmptyViewIfNeeded(timeline)
self.showAdViewIfNeeded(timeline)
self.showLoginViewIfNeeded()
}
}
}
}
private func showEmptyViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems == 0 {
emptyView.isHidden = false
} else {
emptyView.isHidden = true
}
}
private func showAdViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems >= 1 && timeline?.numberOfItems <= 3 {
adView.isHidden = false
} else {
adView.isHidden = true
}
}
private func showLoginViewIfNeeded() {
if isLogined {
loginView.isHidden = true
} else {
loginView.isHidden = false
}
}
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
@IBOutlet weak var adView: AdView!
@IBOutlet weak var loginView: LoginView!
private var isLogined = false
override func viewDidLoad() {
super.viewDidLoad()
LoginManager.login() { [weak self] isSucceed in
guard let `self` = self else { return }
if isSucceed {
TwitterManager.getTimeline() { [weak self] timeline in
guard let `self` = self else { return }
self.timeline = timeline
self.showEmptyViewIfNeeded(timeline)
self.showAdViewIfNeeded(timeline)
self.showLoginViewIfNeeded()
}
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
LoginManager.login() { [weak self] isSucceed in
guard let `self` = self else { return }
if isSucceed {
TwitterManager.getTimeline() { [weak self] timeline in
guard let `self` = self else { return }
self.timeline = timeline
self.showEmptyViewIfNeeded(timeline)
self.showAdViewIfNeeded(timeline)
self.showLoginViewIfNeeded()
}
}
}
}
}
- 57. class TimelineTableViewController: UITableViewController {
@IBOutlet weak var emptyView: UIView!
// Presenter
private var timelinePresenter: TimelinePresenter!
fileprivate var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Presenter
timelinePresenter = TimelinePresenter(output: self)
}
@IBAction func tapGetTimelineButton(_ sender: Any) {
// Presenter
timelinePresenter?.getTimeline()
}
}
- 58.
class TimelineTableViewController: UITableViewController {
@IBOutlet weak var emptyView: UIView!
// Presenter
private var timelinePresenter: TimelinePresenter!
fileprivate var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Presenter
timelinePresenter = TimelinePresenter(output: self)
}
@IBAction func tapGetTimelineButton(_ sender: Any) {
// Presenter
timelinePresenter?.getTimeline()
}
}
- 59.
class TimelineTableViewController: UITableViewController {
@IBOutlet weak var emptyView: UIView!
// Presenter
private var timelinePresenter: TimelinePresenter!
fileprivate var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Presenter
timelinePresenter = TimelinePresenter(output: self)
}
@IBAction func tapGetTimelineButton(_ sender: Any) {
// Presenter
timelinePresenter?.getTimeline()
}
}
- 61. class TimelinePresenter {
private weak var timelineTableVCOutput: TimelineTableVCOutput!
private var timelineUseCase = TimelineUseCase()
init(output timelineTableVCOutput: TimelineTableVCOutput) {
self.timelineTableVCOutput = timelineTableVCOutput
}
func getTimeline() {
timelineUseCase.getTimeline() { [weak self] result in
switch result {
case .failure:
self?.timelineViewControllerDelegate.showEmptyView()
case .success(let timeline):
self?.timelineViewControllerDelegate.hideEmptyView()
self?.timelineViewControllerDelegate.showTimeline(timeline: timeline)
}
}
}
}
- 62. class TimelinePresenter {
private weak var timelineTableVCOutput: TimelineTableVCOutput!
private var timelineUseCase = TimelineUseCase()
init(output timelineTableVCOutput: TimelineTableVCOutput) {
self.timelineTableVCOutput = timelineTableVCOutput
}
func getTimeline() {
timelineUseCase.getTimeline() { [weak self] result in
switch result {
case .failure:
self?.timelineTableVCOutput.showEmptyView()
case .success(let timeline):
self?.timelineTableVCOutput.hideEmptyView()
self?.timelineTableVCOutput.showTimeline(timeline: timeline)
}
}
}
}
- 65. class TimelineTableViewController: UITableViewController {
@IBOutlet weak var emptyView: UIView!
@IBOutlet weak var adView: AdView!
// Presenter
private var timelinePresenter: TimelinePresenter!
fileprivate var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Presenter
timelinePresenter = TimelinePresenter(output: self)
}
@IBAction func tapGetTimelineButton(_ sender: Any) {
// Presenter
timelinePresenter?.getTimeline()
}
}
- 66.
extension TimelineTableViewController: TimelineTableVCOutput {
func showEmptyView() {
emptyView.isHidden = false
}
func hideEmptyView() {
emptyView.isHidden = true
}
func showAdView() {
adView.isHidden = false
}
func hideAdView() {
adView.isHidden = true
}
func showTimeline(timeline: Timeline) {
self.timeline = timeline
}
}
- 67. class TimelinePresenter {
private weak var timelineTableVCOutput: TimelineTableVCOutput!
private var timelineUseCase = TimelineUseCase()
init(output timelineTableVCOutput: TimelineTableVCOutput) {
self.timelineTableVCOutput = timelineTableVCOutput
}
func getTimeline() {
timelineUseCase.getTimeline() { [weak self] result in
switch result {
case .failure:
self?.timelineTableVCOutput.showEmptyView()
self?.timelineTableVCOutput.hideAdView()
case .success(let timeline):
self?.timelineTableVCOutput.hideEmptyView()
self?.timelineTableVCOutput.showTimeline(timeline: timeline)
self?.showAdViewIfNeeded(timeline: timeline)
}
}
}
private func showAdViewIfNeeded(timeline: Timeline) {
if timeline?.numberOfItems >= 1 && timeline?.numberOfItems <= 3 {
timelineTableVCOutput.showAdView()
} else {
timelineTableVCOutput.hideAdView()
}
}
}
- 69.
class TimelineTableViewController: UITableViewController {
private var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
@IBOutlet weak var emptyView: UIView!
@IBOutlet weak var adView: AdView!
override func viewDidLoad() {
super.viewDidLoad()
TwitterManager.getTimeline() { [weak self] timeline in
self?.timeline = timeline
self?.showEmptyViewIfNeeded(timeline)
self?.showAdViewIfNeeded(timeline)
}
}
private func showEmptyViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems == 0 {
emptyView.isHidden = false
} else {
emptyView.isHidden = true
}
}
private func showAdViewIfNeeded(_ timeline: Timeline) {
if timeline?.numberOfItems >= 1 && timeline?.numberOfItems <= 3 {
adView.isHidden = false
} else {
adView.isHidden = true
}
}
}
- 70.
class TimelineTableViewController: UITableViewController {
@IBOutlet weak var emptyView: UIView!
@IBOutlet weak var adView: AdView!
// Presenter
private var timelinePresenter: TimelinePresenter!
fileprivate var timeline: Timeline? = nil {
didSet {
tableView.reloadData()
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Presenter
timelinePresenter = TimelinePresenter(output: self)
}
@IBAction func tapGetTimelineButton(_ sender: Any) {
// Presenter
timelinePresenter?.getTimeline()
}
}
- 71. extension TimelineTableViewController: TimelineTableVCOutput {
func showEmptyView() {
emptyView.isHidden = false
}
func hideEmptyView() {
emptyView.isHidden = true
}
func showAdView() {
adView.isHidden = false
}
func hideAdView() {
adView.isHidden = true
}
func showTimeline(timeline: Timeline) {
self.timeline = timeline
}
}
- 72.
class TimelinePresenter {
private weak var timelineTableVCOutput: TimelineTableVCOutput!
private var timelineUseCase = TimelineUseCase()
init(output timelineTableVCOutput: TimelineTableVCOutput) {
self.timelineTableVCOutput = timelineTableVCOutput
}
func getTimeline() {
timelineUseCase.getTimeline() { [weak self] result in
switch result {
case .failure:
self?.timelineTableVCOutput.showEmptyView()
self?.timelineTableVCOutput.hideAdView()
case .success(let timeline):
self?.timelineTableVCOutput.hideEmptyView()
self?.timelineTableVCOutput.showTimeline(timeline: timeline)
self?.showAdViewIfNeeded(timeline: timeline)
}
}
}
private func showAdViewIfNeeded(timeline: Timeline) {
if timeline?.numberOfItems >= 1 && timeline?.numberOfItems <= 3 {
timelineTableVCOutput.showAdView()
} else {
timelineTableVCOutput.hideAdView()
}
}
}