iOS設計模式 原型模式

2021-09-26 13:23:26 字數 682 閱讀 7016

使用原型例項指定建立物件的種類,並通過複製這個原型建立新的物件

它通過複製乙個已經存在的例項來返回新的例項,而不是新建例項

原型模式實際意義上來說是拷貝、而且一般情況下都是深拷貝

簡單理解就是:建立第乙個模板物件,然後通過複製模板來建立新的物件

遵守協議

實現- (id)copywithzone:(nszone *)zone方法

將所有的屬性複製到新物件中

@inte***ce person : nsobject @property (nonatomic, copy) nsstring *name;

@property (nonatomic, assign) nsuinteger age;

@end

- (nonnull id)copywithzone:(nullable nszone *)zone

//建立

person *model = [[person alloc] init];

model.name = @"jake";

model.age = 11;

person *clonemodel = [model copy];

iOS設計模式之原型模式

說明 深複製和淺複製 指標只是儲存在記憶體中資源位址的佔位符。在複製操作中,如果只是將指標複製給新物件 副本 那麼底層的資源實際上仍然由兩個例項在共享。其實兩者指向的都是同一塊記憶體。這就是淺複製。什麼是深複製呢?深複製是指不僅複製指標值,還複製指標所指向的資源。cocoa touch框架為nsob...

設計模式 原型模式

1.首先分析原型模式的由來 一般來說,建立乙個物件可以由以下方法 知道物件的具體型別,直接用new生成。不知道型號,知道相應的需求,可以使用工廠方法模式。根據乙個已有的物件來複製為乙個新的物件,可以使用原型模式。2.原型模式可以簡單理解為拷貝原型物件得到新的物件。想象乙個配鑰匙的小店,給店主乙個原有...

設計模式 原型模式

魔術師手拿一張百元大鈔,瞬間又變出兩張。也像配鑰匙一樣,拿一把鑰匙,老師傅就能做出另乙個一模一樣的。像這種複製我們並不陌生,類似於我們設計中的原型模式 本文將從以下幾點 原型模式 概述 結構圖 淺複製深複製 總結 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。允許乙個物件再建立另外...