本博向大家介绍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, :allow_nil => true # editor_name => user.editor.try(:name) end
如上,如果我们调用Account的firstna