美文网首页
关于block回传参数的时候改变了参数的类型

关于block回传参数的时候改变了参数的类型

作者: AlanAnie | 来源:发表于2017-07-30 00:44 被阅读11次

问题描述、在请求服务器数据的时候。用的单例类存储了这个数据放进一个可变数组里面  再用block回传过来。回传的参数类型是id类型。可是在接收的时候。变成nsarr类型。不可变数组。分别请求了三次。分别赋值给了三个数组。可是每走一个请求。其他三个数组的数据全部变成最后一个请求赋值的数组数据了。用nsmutableArr arrwithArr 方法去接收block回传的数据。就正常了,很奇怪。在此记录。

此次原因已发现。原因是使用了一个单例的可变数组去接数据。然而这三个数组都被赋值给了这个单例的接收数据数组。这次赋值是浅拷贝(浅拷贝的原因不知)。当下一次请求改变的时候。这个数组的数据变了。所以前面数组数据也会跟着改变.

相关文章

  • 关于block回传参数的时候改变了参数的类型

    问题描述、在请求服务器数据的时候。用的单例类存储了这个数据放进一个可变数组里面 再用block回传过来。回传的参数...

  • block写法

    /**1.^标识后表示block返回数值类型,()表示回传参数2.block都要用copy修饰,复制到堆上,防止释...

  • iOS-block总结

    block回调-传值 其实就是block作为参数传值方:类的.h有block属性,类的.m有block调用(传值,...

  • Block常见使用总结(传值/作为参数/作为返回值等)

    来做个block的笔记。 block定义 block类型 block传值 block作为参数的方法定义与调用 bl...

  • 初学block(一)

    block语法:返回值类型 (^block名称)(参数名1 参数,参数名2 参数, ...) = ^(参数名1 参...

  • Swift3.x - Any、AnyObject和AnyClas

    在Swift中使用AnyObject遇到的问题:方法回调的参数类型不确定,设置接收AnyObject,传参数的时候...

  • block常见用法整理(译)

    1.作为本地变量的block: 返回值类型 ^(block名称 (参数类型) = ^返回值类型(参数) {bloc...

  • Python函数参数

    参数类型 必选参数:在给函数传参数时,按照顺序,依次传值。 默认参数:就是在写函数的时候直接给参数传默认的值,调用...

  • Block学习总结一block分类

    Block分类 block定义的格式为: 返回值类型+block名+参数 以下是无参数定义 以下是有参数定义 bl...

  • Block的一些用法

    一、定义block有返回值、有参数:返回类型 ^(blockName)(参数) = ^返回类型(参数列表){//...

网友评论

      本文标题:关于block回传参数的时候改变了参数的类型

      本文链接:https://www.haomeiwen.com/subject/vtkhlxtx.html