本博向大家介绍Swift对象委托的一种变通方法,但遗憾的是该方法在Swift 4.2中会导致App崩溃,生活还要继续,且看本猫如何解决它喽.
什么是对象委托
简单的说对象委托就是对象A假装对象B,当然A和B的类完全不同.
用过Ruby的童鞋都知道,这很容易完成:
Class Account < ActiveRecord::Base
delegate :firstname, :to => :user
# firstname => user.firstname
delegate :firstname, :to => :user, :prefix => true
# user_firstname => user.firstname
delegate :firstname, :to => :user, :allow_nil => true, :prefix => true
# user_firstname => user.try(:firstname)
delegate :name, :to => "user.try(:editor)", :prefix => :editor
# editor_name => user.editor.name
delegate :name, :to => "user.try(:editor)", :prefix => :editor, :all