首页 > 移动平台 > 详细

ios 实例类的变量 赋值失败

时间:2015-03-05 10:35:56      阅读:610      评论:0      收藏:0      [点我收藏+]

多次遇到类似问题目前只找到原因,在此记录。找到解决方案时,再补充添加。

问题描述:

声明类A,类B,主类M.

在类A中声明一个变量数组testArray;

@property (nonatomic, strong) NSArray *testArray;

 

在主类M中实例化类A,并添加视图;

A *a = [ [A alloc] initWithFrame:CGRectMake(0,0,20,20)];

[self addSubView:a];

在类B中,由A的实例获取变量数组testArray,并对数组赋值;

A *a = [ [A alloc] init];

a.testArray = @[@"m",@"n",@"q"];

结果在A类中调用数组testArray,testArray为空,赋值失败。

原因:

数组testArray由类A的不同实例调用,分配的内存不同,所以B类中赋值的数组testArray,和A类中调用的数组testArray不是同一个数组。赋值失败。

 

目前的解决思路:

1、对A类单例化,保证工程共只存在一个A的实例;(若工程中存在多个单例类,是否有弊端?)

2、声明静态数组testArray;(测试不成功)

ios 实例类的变量 赋值失败

原文:http://www.cnblogs.com/songshu-yilia/p/4315017.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!