只需使用此方法:

UIView* view2 = [view1 copy]; // view1 existed

这将导致模拟器无法启动此应用程序.

试着保留,

UIView* view2 = [view1 retain]; // view1 existed
// modify view2 frame etc

view2的任何修改都将适用于view1,我理解view2view1共享相同的内存.

为什么UIView个不能复制呢?原因是什么?

推荐答案

你的应用程序可能会崩溃,原因如下:

 [UIView copyWithZone:]: unrecognized selector sent to instance 0x1c6280

原因是UIView没有实现复制协议,因此UIView中没有copyWithZone Select 器.

Ios相关问答推荐

Firebase SDK 10+—无法安装软件包

如何在将EXPO更新到50.0后修复react 本机错误

在iOS 17脉冲符号效果不起作用的情况下制作UIBarButtonItem动画(没有UIImageView)

底部导航栏在iOS上浮动

swift|在具有自定义单元格的多个TableView中没有任何内容

mapView swift 导致警告有网格错误

Flutter Aging Person 自定义小部件

当 Swift 枚举具有 any existential 作为其关联值之一时,我如何使它符合 `Equatable`?

在我的 M1 上出现 Architecture arm64 问题,因此我无法运行我的旧项目

Flutter firebase_auth 中的无效应用程序凭据/令牌不匹配

如何为 XCTest、SwiftUI 预览等初始化带有 @MainActor 注释的 Swift 类

expo EAS build (iOS) 在 Pod 安装步骤中失败 (SDK45 & 46)

Xcode 不支持 iOS 15.6

通过MatchedGeometryEffect向上滑动视图

如何快速设置条形按钮的图像?

如何设置imageView的圆角半径?

如何忽略touch 事件并将它们传递给另一个子视图的 UIControl 对象?

iOS 10 / Xcode 8 设备上的 NSLog 似乎被截断了?为什么?

比较没有时间分量的 NSDates

ARC - __unsafe_unretained 的含义?