如果我需要将NSString属性与常量字符串define by进行比较#define,我可以使用双等号吗?
我知道这isEqualToString:会起作用,但只是想知道是否==也有效,比如以下两种情况:
场景1:
#define BLA @"BLA"
NSString *str1 = BLA;
BOOL equal = self.someStr == BLA;
Run Code Online (Sandbox Code Playgroud)
场景2:
#define BLA @"BLA"
NSString *str1 = @"BLA";
BOOL equal = self.someStr == BLA;
Run Code Online (Sandbox Code Playgroud)
他们是一样的吗?
我发现了一些像这样的问题,但我找不到这个特别的问题.我有一些初始化为的字符串
NSString *string = [[NSString alloc] init];
Run Code Online (Sandbox Code Playgroud)
然后根据if/else块的结果为其分配值:
if ([anotherThing isEqualToString:@"boogers"]) {
string = [NSString stringWithFormat:@"some characters"];
} else {
string = [NSString stringWithFormat:@"some _other_ characters"];
}
Run Code Online (Sandbox Code Playgroud)
然后string在方法的后面使用.
如何在不在alloc/init阶段留下死存储的情况下完成此操作?如果我在if(或else)中分配,那么当我需要几行时,字符串就消失了.
我有NSString一个用户输入的文本UITextView.因此,字符串可能包含前导和尾随换行符以及字符串中的换行符(如果它们点击Return键以在新行上键入).我想从字符串的开头和结尾删除任何换行符,保留字符串中的任何字符不变.
最好的方法是什么?
我正在制作一个应用程序,我正在尝试使用isEqualToString来比较我知道相同的字符串.但是,此代码无效
- (void)uui {
array2 = [NSMutableArray arrayWithContentsOfFile:Path2];
string = [NSString stringWithFormat:@"%@", [array2 objectAtIndex:3]];
NSString *string2 = [NSString stringWithFormat:@"Partly Cloudy"];
NSLog(@"%@ , %@", string, string2);
if ([string isEqualToString:string2]) {
NSLog(@"frack");
}
}
Run Code Online (Sandbox Code Playgroud)
这是我在日志中得到的
2013-01-02 23:13:27.512 My Sky[3788:907] Partly Cloudy , Partly Cloudy
Run Code Online (Sandbox Code Playgroud)
如您所见,它们是相同的.我在这做错了什么?
可能重复:
如何使用双引号将NSString初始化为文本
如何在NSString中的变量中添加tan实际双引号以在NSDictionary中使用?例
NSString *ename=@"John Doe";
NSDictionary *profile=@{@"Profile":@{"Name":ename}};
Run Code Online (Sandbox Code Playgroud)
我需要显示如下"个人资料":{"姓名":"John Doe"}
我的代码崩溃在这一行:
[(NSMutableString *)string replaceCharactersInRange:range withString:@""];
Run Code Online (Sandbox Code Playgroud)
错误尝试改变不可变对象.
这是怎么回事?我该如何解决?
我有一些NSString平等的@"1234567.89".我必须floatValue从这个字符串.当我打电话时,[myString floatValue]这float是平等的1234567.875000.如何保持这个?我希望floatValue相等1234567.89000.
谢谢你的帮助.
我试图看看是否有一个简短的方法来做以下事情:
我要说我有以下NSString:
@"123456 copy cat";
我需要删除"复制"之前的所有内容以及文本长度之前的变量(取决于用户输入)
我知道我可以做一个无限循环来检查子字符串,但我希望有一个更快的方法
我有以下代码从表示数字的一些字符串中删除多余的字符:
NSCharacterSet *charactersToKeep = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
NSCharacterSet *charactersToBeRemoved = [charactersToKeep invertedSet];
NSString *myString = [dictionary objectForKey:@"MyKey"];
myString = [myString stringByTrimmingCharactersInSet:charactersToBeRemoved];
myString = [myString stringByReplacingOccurrencesOfString:@"," withString:@""];
Run Code Online (Sandbox Code Playgroud)
在该方法之后stringByTrimmingCharactersInSet:,除去逗号之外的所有额外字符.stringByReplacingOccurencesOfString:删除对逗号的调用后.第一次通话后为什么不删除它?
以下是每行代码后myString的示例:
myString = " $9,959 "
myString = "9,959"
myString = "9959"
Run Code Online (Sandbox Code Playgroud)
我也试过了
NSCharacterSet *charactersToBeRemoved = [NSCharacterSet decimalDigitCharacterSet];
Run Code Online (Sandbox Code Playgroud)
并得到了相同的结果.
我有一个NSString对象,它是一个包含长随机字符组的网页的URL.我想提取字符串中只有两个斜杠之间的字符.任何人都可以帮我这样做吗?例如,我想在以下字符串中提取somewebpage.com和nextlink之间的刺痛.
链接.
nsstring ×10
ios ×9
objective-c ×5
cocoa-touch ×3
iphone ×3
xcode ×3
dead-code ×1
extract ×1
mutable ×1
nsdictionary ×1
rounding ×1
substring ×1