1.最近一直在忙着做项目,今天就来总结最近这段时间遇到的一些比较麻烦的问题。有时候也是颇感无奈。

有句话说的好。人不要总在一棵树上吊死。去旁边那棵树上也可以试试。好了不扯了。直接进入正题吧!

先来阐述一下我遇到的问题。由于项目的功能需求需要从上一个界面传递2个数组过去,然后在下个界面进行一系列的操作,点击保存的时候要将这2个数组返回给上个界面,点击取消则不做数组传递。现在的问题是在第二层的界面做数组操作的时候,第一个界面的数组会出现自己改变的情况(前提是我在界面返回的时候并没有对此界面做数组做操作),这个问题困扰了我很多天,因为在遇到这个问题的时候第一反应是在某个地方对此数组做了改变。所以在数据改变的地方都打上了断点,但是测试的结果是并没有做任何一个断点,也就是说界面返回的时候并没有做任何数组处理的地方

上代码

  EditGoodsDetailVC * vc = [[EditGoodsDetailVC alloc]init];
vc.delegate =self; vc.NewdataArr = self.OrignArr;
vc.PostStr = self.PostStr;
vc.imageIdArr =self.NewPostidArr;
[self.navigationController pushViewController:vc animated:YES];

这里这个newdataArr 就是在返回的时候会自己随着origArr做改变而改变,之后做了很多的操作了排查,一直都无法找到问题。 我的推断是

  vc.NewdataArr = self.OrignArr;
vc.PostStr = self.PostStr;

像这种 =赋值的时候,会把数组的地址也会赋给他,但是这是2个界面的数组,按道理来说。他们2个数组并没有直接的影响,但是实际的情况就是这样,到最后我这个问题搞清楚。总之新版的xcode 更新之后问题还是很多的,最后我给大家说说我的解决办法,不是很好,但是只能是没有办法的办法了

#import <UIKit/UIKit.h>
@protocol EditGoodsDetailVCDelegate <NSObject>
@optional - (void)EditGoodsClick:(NSMutableArray *)IdArr textStr:(NSString *)textStr LocadImage:(NSMutableArray *)LocadImageArr; - (void)leftCickDelegate:(NSMutableArray *)locadImageArr idarr:(NSMutableArray * )IdArr;
@end

在下个界面写个2个代理,1.不管他是保存还是返回都会走代理。2.写了2个数组,把传过来的数组做一个copy

如果是保存的话就把操作过的2个数组返回,如果没做操作就吧copy的2个数组直接进行返回

希望同样遇到这个问题的童鞋,可以给大家提供点帮助。

by: Qzx

关于xcode 9.0数组问题的遇到的坑的更多相关文章

  1. xcode 5.0中,新的开发者证书加载方式

    按照先前从网上看到的参考,开通了开发者账号之后,要先在本地生成一个request文件,然后上传苹果开发者网站,然后在官网上生成一个证书.cer文件,拿这个文件在本地生成p12文件,然后就是一堆鸡零狗碎 ...

  2. xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题)

    xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题) 前两天为了适配 iOS10 的系统 我将xcode 7.3 升级到了 xcode 8.0 但是 ...

  3. Xcode 5.1.1 与 Xcode 6.0.1 共存

    Xcode 5.1.1 (下面简称Xcode5)和Xcode 6.0.1(下面简称Xcode6)都是正式版本号.其应用程序文件名称都是"Xcode".假设通过AppStore升级或 ...

  4. iOS之Xcode 8.0真机调试运行:This ** is running iOS 10.1.1 (14B100), which may not be supported

    2016年10月份 苹果升级了iOS系统为10.1,xcode 8.0 运行会提示: This iPhone 5 (Model A1429) is running iOS 10.1.1 (14B100 ...

  5. Xcode 7.0 官方免费的真机开发

    Xcode 7.0 官方免费的真机开发 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转 ...

  6. Xcode 9.0 新增功能大全

    Xcode是用于为Apple TV,Apple Watch,iPad,iPhone和Mac创建应用程序的完整开发人员工具集.Xcode开发环境采用tvOS SDK,watchOS SDK,iOS SD ...

  7. 第30月第11天 Xcode 9.0中新增的API版本检查@available

    1.Xcode 9.0中新增的API版本检查@available https://www.jianshu.com/p/0a94baa6c3dd https://www.jianshu.com/p/b8 ...

  8. 在 Win 7或8 下使用 VirtualBOX 虚拟机安装 OS X 10.11 El Capitan 及 Xcode 7.0

    注:本文源自于: http://bbs.feng.com/read-htm-tid-9908410.html _____________________________________________ ...

  9. Xcode 8.0 新特性 & Swift 3.0 增加的变动

    从 Xcode 8.0 开始,目前所有的插件都无法工作! NSLog 无法输出 -- 此bug等待正式版本... Xcode 提供了文档注释快捷键option + cmd + / 但是要把系统升级到1 ...

随机推荐

  1. 怎样处理jmeter中文乱码

    jmeter返回 中文乱码: 1.在jmeter的bin目录下,找到jmeter的配置文件,jmeter.properties,然后把 sampleresult.default.encoding=UT ...

  2. Redis的安装、服务配置

    在网上找了很多资料,有些可以正常安装,有些安装会出毛病,仔细想了想,还是自己整理一份吧,仅仅为自己下次再用的时候,能够快速的定位到可以正常用的文章! 我使用的是VMware Workstation P ...

  3. Android内核编译步骤

    android_4.0.4_tq210$ source build/envsetup.shandroid_4.0.4_tq210$ lunch 5/android_4.0.4_tq210$ make ...

  4. debiand上安装thunderbird

    deb包下载地址 http://sourceforge.net/projects/ubuntuzilla/files/mozilla/apt/pool/main/t/thunderbird-mozil ...

  5. 使用powershell/vbs自动化模拟鼠标点击操作

    今天想做windows上的自动化,所以才有了模拟鼠标点击的需求,先考虑用powershell实现: 首先先安装一个名为“WASP”免费可用的Powershell扩展程序,下载地址:http://was ...

  6. EXCEL宏做数据拆分

    用处:将大容量的EXCEL工作簿分解成若干个小的工作簿 Sub aa() For i = 1 To 8 Set nb = Workbooks.Add nb.SaveAs Filename:=ThisW ...

  7. 在从1到n的正数中1出现的次数 【微软面试100题 第三十题】

    题目要求: 给定 一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数.    例如:N = 2,写下1,2.这样只出现了1个“1”.          N = 12 ...

  8. Leetcode28--->字符串的匹配(KMP)

    题目: 题目的本质是给定两个字符串str1,str2,求str1中的str2串开始的地方,即字符串的匹配,KMP算法 思路:时间复杂度为O(m + n),空间复杂度为O(n),原串的长度为m,子串的长 ...

  9. 快速排序-php代码实现

    <?php function quickSort(array &$a) { $n = count($a); quickSortInternally($a, 0, $n-1); } fun ...

  10. [译]PYTHON FUNCTIONS - MAP, FILTER, AND REDUCE

    map, filter, and reduce Python提供了几个函数,使得能够进行函数式编程.这些函数都拥有方便的特性,他们可以能够很方便的用python编写. 函数式编程都是关于表达式的.我们 ...