当前位置: 代码迷 >> Iphone >> 怎么保存类中的字符串变量,求解
  详细解决方案

怎么保存类中的字符串变量,求解

热度:98   发布时间:2016-04-25 06:24:31.0
如何保存类中的字符串变量,求解,请教各位
新建了一个类
@interface WebConnect : NSObject
//////用户信息
@property (retain, nonatomic) NSString *userID;

-(int)splitTableInfo:(NSString*)resData;
@end

@implementation WebConnect
-(int)splitTableInfo:(NSString*)resData
{
  NSArray *array = [resData componentsSeparatedByString:@"^"];
   
  userID=[array objectAtIndex:1];
  checkedTableInfoData = true;
  return 0;

}
里面有一个userID

在某个地方给这个类声明一个对象,并分配空间
 pwebOperator=[[WebConnect alloc] init];


然后将一另外一个字符串赋值给userID

如下
NSString *resTimerInfoData = [[NSString alloc] initWithData:XXXXX encoding:NSUTF8StringEncoding];
[pwebOperator splitTableInfo:resTimerInfoData ];
[resTimerInfoData release];

然后打印userID的值

NSLog(@"%@",pwebOperator .userID);//可以打印出来,没有问题

但是我发现我加了一个Timer循环打印这一句就不行了给userID赋值以后马上答应OK,在Timer里面就会报这个userID不存在了
我将@property (retain, nonatomic) NSString *userID;修改成了@property (copy) NSString *userID;

我想将userID这个值在类中保存,该怎么做呢,iphone下面还真郁闷
用另外一个号说得不清楚,重新说一遍




------解决方案--------------------
楼上你在说什么?userID=[array objectAtIndex:1];改userID=[[nsstring alloc]initwithstring [array objectAtIndex:1]];

不改你就慢慢研究吧。值类型当然存在,nsstring是个引用类型。
------解决方案--------------------
self.userID = @"";
要这样写。
直接用 userID = @"" 不会增加引用计数。
  相关解决方案