读书人

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

发布时间: 2012-08-29 08:40:14 作者: rapoo

如何保存类中的字符串变量,求解,请教各位
新建了一个类
@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 = @"" 不会增加引用计数。

读书人网 >Iphone

热点推荐