请看看这段代码:问题在返回值目标-C
-(NSString *) myfun:(NSString *)name paramnoone:(int)a paramnotwo:(int)b {
static int numberofcall=0;
if(a>b) {
return name;
}
NSString *secondname = [[NSString alloc]init];
secondname = [name StringByAppendingString:@"test"];
numberofcall++;
return secondname;
}
我有这一个问题,当我的代码是“回归secondname”下一步打算“回归名”上如果声明部分,即时通讯混淆了很多,因为c + +没有这个问题, 请帮我解决它, 感谢您的帮助和抱歉,我的英语不好。
C++和Objective-C都以C作为其祖先,共享相同的逻辑语句。所以我怀疑你遇到了一个你可以用C++解决的问题,但是不能用Objective-C解决。不幸的是,你的问题描述很混乱,我不明白。请尝试解释。 – DarkDust
当你执行'secondname = [name StringByAppendingString:@“test”];''紧跟在'NSString * secondname = [[NSString alloc] init];'后面时,你正在泄漏内存。您正在失去原始参考。至于这个问题,即使'secondname'应该是返回值,它是否返回'name'? –
是否有可能尝试调试优化版本? – Tommy