我有两个NSString,A和B.
我希望A成为B \ nA。
我该怎么办?
如果在方法中我使用
NSString *string_B = [[NSString alloc] initWithString:@"something_from_a_DB"];
NSString *string_A = [[NSString alloc] initWithString:@"something_from_a_DB"];
if (aTrueCondition) {
string_C = [NSString stringWithFormat:@"%@\n%@", string_B, string_A];
} else {
string_C = string_A;
}
是string_C = string_A;内存泄漏还是不错?
我添加了[string_A release],因为string_C是一个保留属性。现在它有效。
答案 0 :(得分:5)
这是将它们组合在一起的方式:
NSString *newString = [NSString stringWithFormat:@"%@\n%@", stringB, stringA];
第二部分是“A成为newString
”。这很难做到,因为常规字符串在Cocoa中是不可变的。你可以做的最好的事情就是抛弃旧的A并将A指向新的字符串:
NSString *strA = @"foo";
NSString *strB = @"bar";
strA = [NSString stringWith…];
小心不要泄漏A:
NSString *strA = [[NSString alloc] initWithString:@"foo"];
strA = [NSString stringWith…]; // this is a leak
答案 1 :(得分:0)
NSString *str=[NSString stringWithFormat:@"%@\n%@",B,A];
使用它。
答案 2 :(得分:0)
NSString *stringA = [NSString stringWithFormat:@"%@\n%@", stringB, stringA];