当前位置: 首页 > news >正文

做网站烧钱吗短租房网站哪家做最好

做网站烧钱吗,短租房网站哪家做最好,建新建设集团有限公司网站,营销自动化名词解释在Objective-C中如果想将一个数组赋值给另外一个数组#xff0c;同时想让两个数组之间相互独立(即改变其中的一个数组#xff0c;不影响另外的一个)#xff0c;有很多的办法#xff0c;比如我们可以直接copy,用类方法创建新数组。这样得到的数组和原来的数组就是两个完全独…在Objective-C中如果想将一个数组赋值给另外一个数组同时想让两个数组之间相互独立(即改变其中的一个数组不影响另外的一个)有很多的办法比如我们可以直接copy,用类方法创建新数组。这样得到的数组和原来的数组就是两个完全独立的数组了即使数组中的元素是对象。在swift中情况和Objective-C中稍有不同根据官方文档的介绍Paste_Image.png1即如果数组中的元素是整形字符串结构体等简单数据类型那么当你将一个数组赋值给另外的数组时数组中的元素会被拷贝一份两个数组中的元素相互独立。var numbers [1, 2, 3, 4, 5]var numbersCopy numbersnumbers[0] 100print(numbers)// Prints [100, 2, 3, 4, 5]print(numbersCopy)// Prints [1, 2, 3, 4, 5]而如果数组中的元素是类的实例那么会有些不同Paste_Image.png2即当数组的元素是类的实例时简单的将一个数组赋值给另外的数组后由于两个数组中元素所引用的对象相同当你改变其中一个数组中元素的属性时另外的数组中同样引用的元素对应的属性也会随之改变除非数组中的元素只想不同的类的实例// An integer type with reference semanticsclass IntegerReference {var value 10}var firstIntegers [IntegerReference(), IntegerReference()]var secondIntegers firstIntegers// Modifications to an instance are visible from either arrayfirstIntegers[0].value 100print(secondIntegers[0].value)// Prints 100// Replacements, additions, and removals are still visible// only in the modified arrayfirstIntegers[0] IntegerReference()print(firstIntegers[0].value)// Prints 10print(secondIntegers[0].value)// Prints 100由于这样的特性就会产生一些问题比如从页面1中将一个含有特定类实例的数组传递给第二个页面在第二个页面中对这个数组中的某些元素的属性进行了更改那么就会影响到第一个页面的对应数组中的该元素常见的场景就是含有model的数组的传递。解决办法1根据官方文档介绍由于swift加强了结构体的功能同时数组中元素如果是结构体的话会自动进行拷贝(前面说过)所以遇到这种情况如果可以用结构体的话就不要用类(但是结构体有时确实很不方便呀不太习惯创建model的时候用结构题呀)。解决办法2在Model类中遵守Coping协议同时实现对应的方法具体如下protocol Copying {init(original: Self)}extension Copying {func copy() - Self {return Self.init(original: self)}}class Model: NSObject, Copying {required init(original: Model) {//Model的属性planId original.planIdselectName original.selectName}}这样Model的实例就可以调用copy方法来拷贝一个新的对象了如果对于数组来说就这样var modelArr [model0, model1,model2,model3,]var copyPlantsArr [Model]()for model in modelArr {let copyModel model.copy()copyPlantsArr.append(copyModel)}在copyPlantsArr中就是拷贝后的新的数组两个数组之间相互独立(办法有点麻烦)也可以将上一步替换为给数组增加扩展(这个没有亲自试过)extension Array where Element: Copying {func clone() - Array {var copiedArray Array()for element in self {copiedArray.append(element.copy())}return copiedArray}}上面就是我找到swift中实现数组的深拷贝的办法了总感觉有点麻烦希望有知道更简单好用办法的兄弟给我留言谢谢。希望我的文章对你有帮助努力坚持与君共勉。
http://www.yutouwan.com/news/377555/

相关文章:

  • 橱柜网站源码国家企业信息公示系统官网平台
  • 内蒙古建设工程造价管理网站游戏开发网站建设
  • 网站关键词指数查询工具怎么做诚信通网站的店招
  • 龙岩门户网站我理解的网络营销是什么
  • 中时讯通信建设有限公司网站网站2级目录怎么做
  • c 做网站教程制作简单的网站
  • 合肥响应式网站开发方案网站线框图怎样做
  • 英文网站开发哪家好永久 终身 云服务器
  • 免费建站的平台网站排名是什么意思
  • 网站建站一本通在sae上搭建wordpress
  • 微信小程序联盟网站网络品牌营销策划的概念
  • wordpress 分类目录插件seo成功案例分析
  • 网站开发的软硬件环境网页制作和设计实验目的
  • 郴州网站开发公司会展设计方案
  • 做实验网站3000部末年禁止app软件
  • 做好网站维护无锡网站开发平台
  • 建设企业网站个人网银网站建设要钞钱
  • 网站建设技术部职责动漫制作专业学什么就业方向
  • 德州万企互联网站制作上海企业网络推广公司
  • 如何远程登录网站服务器专业模板网站制作
  • 建立的网站打开空白中装建设市值
  • 太原网站定制东莞企业画册设计制作公司报价
  • 网络营销产品策略seo排名优化什么意思
  • 网站制作图书搜索视频 网站开发
  • 网站制作职责软件平台公司
  • 郑州网站建设案例html做网站的代码
  • 母婴网站建设wordpress停用谷歌字体
  • 广东网站备案审核时间iis 访问网站需要进行身份验证
  • 临沂做商城网站广州做餐饮的招聘网站
  • 大理网站制作公司无锡网站制作有哪些