jjzjj

stringWithFormat

全部标签

何时使用NSString StringWithFormat;

当我阅读如何利用iOS中的sqlite时,我到达了以下行NSString*query=[NSStringstringWithFormat:@"SELECT*FROMtableName"];我搜索了一些教程和文档,以了解为什么使用以下方法而不是常规的NSString对象:stringWithFormat为什么我们不能使用以下内容,因为没有必要指定和特殊格式,例如%@或%d?:NSString*query=@"SELECT*FROMtableName";看答案如果您不会从变量中获得值,@"SELECT*FROMtableName"这应该很好。如果要在运行时替换表的名称,则可以使用stringWit

ios - 用于 int 值的 StringWithFormat 有一个问题

我目前有一个自定义格式并显示在标签中的int值。int值始终是一个5位数字,我在十分位和百位之间用+符号显示它。如果number=12345,displayNumber=123+45。ViewController.minthigh=number/100;intlow=number-(high*100);NSString*displayNumber=[NSStringstringWithFormat:@"%d+%d",high,low];我的问题是数字的十分之一为零。如果number=12304,displayNumber将显示为123+4,而我希望它显示为123+04。我试过对low

ios - 何时释放 transient NSString StringWithFormat?

请帮助iPhone开发新手。在我的应用程序中,我经常这样做,Instruments将其显示为泄漏。执行此操作的正确方法是什么?我正在尝试将数字数据重新格式化为字符串,以便在NSMutableDictionary对象中使用。所以我认为如果我做这样的事情会很棒:[myDictsetObject:[NSStringstringWithFormat:@"%d",section]forKey:@"Category"];我不想写3行来做...NSString*cat=[NSStringstringWithFormat:@"%d",section];[myDictsetObject:catforKe

ios - "NSString stringWithFormat:"和 "%zd"在 32 位设备中的奇怪行为

为什么我们不能在32位设备(iPhone5、iPhone4s或它们的模拟器)中使用“%zd”格式化字符串?int64_ttest1=11111111;int64_ttest2=22222222;int64_ttest3=33333333;int64_ttest4=44444444;NSString*testStr=[NSStringstringWithFormat:@"\"%zd%zd%zd%zd\"",test1,test2,test3,test4];NSLog(@"testStr:%@",testStr);NSIntegertest5=55555555;NSIntegertest6

ios - stringWithFormat float 的奇怪行为

(lldb)po[NSStringstringWithFormat:@"%.1f",0.01](id)$21=0x003a256019991592471028323832250853378750414848.0(lldb)po[NSStringstringWithFormat:@"%.1f",0.1](id)$22=0x0de92240-0.0有人了解这里的行为吗?我在设备上运行。 最佳答案 这是lldb中的错误。如果您在gdb中尝试同样的操作,它会正常工作。我怀疑lldb只传递了参数的低32位。0.01的IEEE表示及其打印的数字

iphone - 来自 "stringWithFormat:"的意外结果

以下ObjectiveC代码的预期结果是什么?intintValue=1;NSString*string=[NSStringstringWithFormat:@"%+02d",intValue];我以为字符串的值是“+01”,结果是“+1”。不知何故,格式字符串“+01”中的“0”被忽略了。将代码更改为:intintValue=1;NSString*string=[NSStringstringWithFormat:@"%02d",intValue];字符串的值现在是“01”。它确实生成前导“0”。但是,如果intValue为负数,如:intintValue=-1;NSString*st

ios - stringWithFormat 生成带有乱码字符的字符串

调试如下代码时NSString*var1=@"blaa";NSString*var2=@"blaaaaa";NSString*script=[NSStringstringWithFormat:@"Set_Variable(%s,%s)",var1,var2];脚本中的%s占位符被替换为有趣的乱码。您能看到代码中的任何错误吗? 最佳答案 %s是C字符串的格式说明符,char*对于objective-c对象(比如NSString)你应该使用%@ 关于ios-stringWithFormat生

iphone - iOS:if-else 在 stringwithformat 中

我是iOS新手,所以请多多包涵。我想使用stringWithFormat构造一个字符串,但我只想在条件为真时放入字符串的一部分。我将如何实现-myString=[NSStringstringWithFormat:@"%@%@",@"myString1",//putmyString2onlyif(someCondition)]如果我不够清楚,请告诉我。 最佳答案 最清晰的方法是使用明确的ifblock。但是,您也可以使用ternaryoperator进行内联:BOOLcondition=YES;NSString*str=[NSStri

ios - 带制表符而不是空格的 NSString stringWithFormat

您可以看到我在字符串后添加了40个空格,但它从索引0开始。我可以用制表符“\t”代替空格“”做同样的事情吗?NSString*firstString=[[NSStringstringWithFormat:@"%@",stringToWrite]stringByPaddingToLength:40withString:@""startingAtIndex:0]; 最佳答案 是的@"\t"将放置制表符而不是空格。此外,您的线路可能更简单一些:NSString*firstString=[stringToWritestringByPaddi

ios - NSString stringWithFormat 返回类型,为什么是 "id"?

为什么方法[NSStringstringWithFormat]返回一个id类型?从我期望的名称来看,它返回一个NSString,而不是一个通用指针。其他类遵循此“规则”。例如[NSNumbernumberWithInt]返回一个NSNumber,而不是一个id。我认为从类似于工厂方法的事实来看,这甚至是不合理的。 最佳答案 你提到了NSNumber,它没有任何直接的子类,所以numberWithInt:返回一个NSNumber*是安全的。p>NSString*(以及其他类,例如NSSet)返回类型id因为它们可以有子类(NSMuta