5

のコピーを作成したいのですが、多くのビューのコピーを頻繁に作成していて、使用が遅いためUIView、使用したくありません。NSKeyedArchiverNSKeyedArchiver

copyまたはについて聞いたinitWithZone:が、グーグルで検索すると、それは良くないことがわかったUIView。元のビューを指すコピーは必要ありません。元のビューに変更を加えると、コピーされたビューにも変更が加えられるためUIViewです。

4

2 に答える 2

0

以下を使用してビューをコピーできます。

TheView *copyOfView =  (TheView *) [NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:origionalTheView]];
于 2014-12-29T17:02:36.027 に答える
-4

ビューのコピーに役立つ UIView カテゴリを作成します。このようなもの:

- (id) copyView {
     UIView *a = [[UIView alloc]init];
     a.frame = self.frame;
     //set all other properties of the UIView
     return a; //return [a autorelease] if not using ARC
}
于 2013-05-15T08:18:41.793 に答える