2014-02-24 135 views
3

我想让我的字符串:@“测试” @“----”stringByAppendingString在for循环

在控制台我得到:“对象返回空描述”

我尽量让对于foo中的每一个字符,在foo2中都有一个“ - ”,这样我得到:“----”,但它不起作用。我看了看,发现首先初始化我的字符串,但是我用tho做:@“”还是我错了?但它也不会因[NSString new]而褪色。

问题在哪里?

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSString *foo = @"test"; 
    NSString *foo2 = @""; 

    for(int i=0; i < foo.count; i++) 
    { 
     [foo2 stringByAppendingString:@"-"]; 
    } 

    NSLog(foo2); 
} 

回答

5

变化

for(int i=0; i < foo.count; i++) 
{ 
    [foo2 stringByAppendingString:@"-"]; 
} 

for(int i=0; i < foo.length; i++) 
{ 
    foo2 = [foo2 stringByAppendingString:@"-"]; 
} 
+0

感谢,但它始终是相同的... – Sam

+0

我刚才检查,一切正常!如果foo == @“test”,那么foo2 == @“----”。它应该以这种方式工作吗? – Avt

+0

哦......你是对的:)我忽视了'foo2 =',但它真的很棒! THNAK YOU !! – Sam

1

始终使用NSLog(@"%@", object)否则,你会得到编译器错误 - > “存在安全隐患”

对于字符串操作考虑的NSMutableString。

相同的代码可以用的NSMutableString写成,

NSMutableString *foo2 = [[NSMutableString alloc] initWithFormat:@""]; 
for(int i=0; i < [foo length] ; i++){ 
    [foo2 appendString:@"-"]; 
} 
NSLog(@"%@", foo2); 
+0

谢谢,但它总是相同的... – Sam

+0

你能否阐述你的观点? – Arvchz