我将字符串值传递给一个方法但我无法获取存储的变量值。这是我的代码:
NSString username = @":ram";
NSString geder = @":gender";
[twoclass newDetails:username:gender]
我的方法是:
NSString *twoclassname;
NSString *twoclassgender;
-(void)newDetails:(NSString *)name:(NSString *)gender{
//saved the string here;
twoclassname = name;
twoclassgender = gender;
//print name value here
NSLog(@"2classname: %@",twoclassname);
}
我得到类似2classname:ram
的输出,我会将此分配给这样的getter方法:
-(NSString *)getTwoclassname{
return twoclassname;
}
...当我调用这个getter方法时。如下所示:
[self details:getTwoclassname];
但是,控制台输出显示为null。我似乎无法获得字符串“ram”。
我做错了什么?
答案 0 :(得分:1)
[self details:getTwoclassname];
这是使用参数getTwoClassname在self上调用一个名为details的方法。
目前还不清楚你在哪里调用这段代码或者在这种情况下是什么样的自我,但是我们假设它是从你首先设置细节的同一个类中调用的。
正确的语法是:
NSString *myString = [twoClass getTwoClassname];
然后myString将保存返回的值。
答案 1 :(得分:0)
可能是你的字符串没有保留?
试
twoclassname = [name retain];
twoclassgender = [gender retain];