2011-06-13 47 views

回答

3

尝试:

NSString *aString = @"xxxx_"; 
aString = [aString stringByAppendingString:qFileTextName]; 
0

假设你已经没有宣布他们在其他地方,尽量

NSString *qFileTxtName = @"110327"; 
NSString *aString = [@"xxxx_" stringByAppendingString:qFileTxtName]; 
2

假设qFileTxtNameaString都被定义为NSString*,那么你所提供的代码不会产生任何警告。

NSString *qFileTxtName = @"110327"; 
NSString *aString = [@"xxxx_" stringByAppendingString:qFileTxtName]; 
// no warnings 

我想你的意思是写-stringByAppendingFormat:,这产生警告:

NSString *qFileTxtName = @"110327"; 
NSString *aString = [@"xxxx_" stringByAppendingFormat:qFileTxtName]; 
// warning: format not a string literal and no format arguments 

如果你真的想使用-stringByAppendingFormat:,你需要做这样的事情:

NSString *aString = [@"xxxx_" stringByAppendingFormat:@"%@", qFileTxtName]; 

下来电记录显示的另一个操作,将导致从编译器警告,而t他更好(更安全)的方式来编码它:

NSLog(aString); // warning: format not a string literal and no format arguments 

NSLog(@"%@", aString); // the more secure way to do it 
+0

如果真的需要使用 “stringByAppendingFormat”, 的NSString * ASTRING = [@ “xxxx_” stringByAppendingFormat:@ “%@”,qFileTxtName]。做的工作..! 谢谢@NSGod。 – Shailesh 2013-05-13 05:30:11

0

这就是formater的问题。在较新版本的ios sdk中有一个新的方法介绍了这个。所以使用stringWithString而不是stringWithFormat。如下。

NSMutableArray * array_mutable = [NSMutableArray arrayWithObject:@"tekst"]; 
     NSString *s1; 
     s1 = [NSString stringWithFormat:[myArray objectAtIndex:0]]; //(Format string is not a string literal (potentially insecure) 
     s1 = [NSString stringWithString:[myArray objectAtIndex:0]]; //no problem 
相关问题