Tag: nsstring

不区分大小写比较一堆string

什么是最好的方法来比较一个NSString的一堆其他string不区分大小写? 如果是string之一,那么方法应该返回YES,否则返回NO。

Swift NSString函数的语法用法

我有一个关于swift函数调用语法的基本问题。 我已阅读文档,但无法弄清楚。 于是决定在这里查询。 我写的一段代码 var string1 = NSString().stringByAppendingString("First string") var string2 = NSString.stringByAppendingString("Second string") println(string1) println(string2) 两个string都具有相同的函数调用,但返回types不同。 这里唯一的区别是() 。 我出去了 第一个string (function) 问题是为什么它没有给出警告/错误。 这是var string2持有stringByAppendingString方法体? 发生了什么事情,像我这样的新开发者可以很容易地犯这样一个错字,不能弄清楚。 你能解释一下为什么它没有回报价值吗?

在iOS上显示按比例分配的数字(而不是等宽/表格)

我在iOS中渲染数字(目标是7或更高),方法是将它们存储在NSAttributedString中,并使用“drawAtPoint:”进行渲染。 我正在使用Helvetica Neue。 我已经注意到, 像这样绘制的数字不是成比例的 – 这些字形都具有相同的宽度。 即使是一个瘦的“1”也占据了与“0”相同的空间。 一个testing证实了这一点: for(NSInteger i=0; i<10; ++i) { NSString *iString = [NSString stringWithFormat: @"%d", i]; const CGSize iSize = [iString sizeWithAttributes: [self attributes]]; NSLog(@"Size of %d is %f", i, iSize.width); } 与其他地方一起: -(NSDictionary *) attributes { static NSDictionary * attributes; if(!attributes) { attributes = @{ NSFontAttributeName: [UIFont systemFontOfSize:11], NSForegroundColorAttributeName: […]

使用NSScanner来parsing一个string

我有一个带有格式标签的string,比如There are {adults} adults, and {children} children 。 我有一个以“成人”和“孩子”为关键词的字典,我需要查找这个值并用这个值replacemacros。 这是完全dynamic的; 键可以是任何东西(所以我不能硬编码一个stringByReplacingString )。 在过去,我只是通过循环一个可变string,然后search字符来完成类似的事情。 删除我已经从源string中search的内容。 看来这正是NSScanner所devise的types,所以我尝试了这个: NSScanner *scanner = [NSScanner scannerWithString:format]; NSString *foundString; scanner.charactersToBeSkipped = nil; NSMutableString *formatedResponse = [NSMutableString string]; while ([scanner scanUpToString:@"{" intoString:&foundString]) { [formatedResponse appendString:[foundString stringByReplacingOccurrencesOfString:@"{" withString:@""]]; //Formatted string contains everything up to the { [scanner scanUpToString:@"}" intoString:&foundString]; NSString *key = [foundString stringByReplacingOccurrencesOfString:@"}" […]

localizedStringWithFormat如何工作?

请注意 我不问有关NSLocalizedString()macros。 我正在询问有关NSString类的函数+ (instancetype)localizedStringWithFormat:(NSString *)format, … 这是两件独立的事情。 题 我试图使用NSString类的方法localizedStringWithFormat但我只是不能解决我应该如何使用它。 无论我尝试什么,我似乎都没有得到单词出现在翻译文件使用Xcode 6 export for localization 。 我已经尝试了前两个变化,但没有。 文档中的示例显示了… NSString *myString = [NSString localizedStringWithFormat:@"%@: %f", @"Cost", 1234.56]; 这是否意味着我必须从数字中分离翻译的词语? 即我可以不只是使用… NSString *myString = [NSString localizedStringWithFormat:@"Cost: %f", 1234.56]; 如果我可以使用这个,那么翻译的词组是什么,翻译是什么? 如果没有,那为什么要用这个呢? 为什么不使用… NSString *myString = [NSString stringWithFormat:@"%@: %f", NSLocalizedString(@"Cost"), 1234.56]; 这最后一个有什么不同? 无论哪种方式,有人可以告诉我如何获得在这个翻译的实际的话。 更新 好的,此刻我正在使用一个愚蠢的工作,似乎只是在滥用一切哈哈。 如果我做… NSString *myString = [NSString stringWithFormat:@"%@: […]

在iPhone上进行debugging时,NSLog输出unicode字符为乱码

编辑: NSLog输出在模拟器中工作良好,但连接到真实设备时不起作用。 它似乎是一个错误 – http://openradar.appspot.com/11148883 。 另外碰巧与LLDB有关,将Xcode切换到GDB可以解决问题。 JetBrain的AppCode可以和LLDB配合使用。 我在应用程序中有一堆unicodestring,如果我尝试使用类似NSLog(@“%@”,aString)输出任何这些string,那么string中的所有ASCII字符将被打印正确,但所有的西里尔信件会被搞乱,所以不是 newLocation: coordinate:60.019584,30.284954 'Удельная' 我越来越: newLocation: coordinate:60.019584,30.284954 '–ü–æ–∫–ª–æ–Ω–Ω–æ–≥–æ—Ä—Å–∫–∞—è' 这样的输出很难做任何debugging。 而且因为这个应用程序是针对俄罗斯市场的,所以我不能只改变语言环境和使用英文string。 所以我想知道是否有任何办法使NSLog工作与unicode字符? 我只是在寻找某种单线解决scheme ,我知道有一些方法可以写半页的代码并输出unicode字符,但是我正在寻找更短的东西。 理想情况下,我正在寻找一些NSString的方法,这将使所有的工作。 例如 NSLog(@"%@", [aString someThingThatMakesUnicodeWorkWithXcodeConsole]);

NSString stringWithContentsOfFile失败,似乎是错误的错误代码

我试图加载一个文件到一个string。 这是我正在使用的代码: NSError *error = nil; NSString *fullPath = [[NSBundle mainBundle] pathForResource:filename ofType:@"html"]; NSString *text = [NSString stringWithContentsOfFile:fullPath encoding:NSUTF8StringEncoding error:&error]; 当传入@“about”作为文件名,它工作得很好,显示代码的作品。 当在@“eula”作为文件名传入时,它会失败,'cocoa错误258',这将转换为NSFileReadInvalidFileNameError。 但是,如果我交换文件的内容,但保持相同的名称,另一个文件无法certificate没有什么错误的文件名,这是与内容有关。 about文件是相当简单的HTML,但eula文件是法律部门从Word导出的大量混乱文件。 有没有人知道可能会导致此错误被提出的HTML文件内的任何内容? 非常感谢, 山姆

在Objective-C中使用偏移量和使用子string获取NSString中字符的索引

我有一个string! NSString *myString=[NSString stringWithFormat:@"This is my lovely string"]; 我想要做的是: 假设string中的第一个字符在索引0处。转到第11个字符(在上面的例子中是'l'),并且向后find第一个出现空间的位置(在上面的string中,第一个出现空间的位置如果我们从'l'倒退到位置10)。 我们称这个空间的“leSpace”的索引值为10。 使用…将剩余的string子string… [myString substringFromIndex:leSpace] …我希望我解释得很好。 请帮忙,你可以写一个片段或什么来帮助我做这个任务?

NSPredicate与NSString:findsuperstrings哪个更好/更快?

我有大量的string,我正在查找是否存在给定的子string。 看来有两种合理的方法来做到这一点。 选项1:使用NSString方法rangeOfSubstring并testingrangeOfSubstring是否存在: NSRange range = [string rangeOfSubstring:substring]; return (range.location != NSNotFound); 选项2.使用NSPredicate语法CONTAINS : NSPredicate *regex = [NSPredicate predicateWithFormat:@"SELF CONTAINS %@", substring]; return ([regex evaluateWithObject:string] == YES) 哪种方法更好,还是有一个很好的选项3,我完全失踪了? 不,我不确定我的意思是“更好”,但是可能在迭代许多string时意味着更快。

从由特殊字符分隔的NSString中提取2个string

我有一个NSString像“你好 – 这是我”。 我想search“ – ”,并将两个单独的string中的“ – ”之前和之后的文本。 任何人都知道如何做到最好的方式? 问候最大