新建了一个类
@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 = @"" 不会增加引用计数。