我有一个Web服务器,我曾经在我的iOS应用程序中获取一些数据.数据包括一个字段,itemId比如说'48501'(没有引用).我阅读商品JSON数据到我itemObject在其中itemId被定义为NSString,而不是一个NSInteger.
一切都有效,直到这一点,但我有问题,我想itemObject.itemId用isEqual:功能与另一个NSString填充的功能进行比较48501.
换句话说,两个字符串完全相同,并48501在我打印时包含.没有空间和隐藏的东西.全部isEqual:和isEqualToString:并且==在比较时报告错误.
当我转换NSStrings为NSIntegers并比较它时它起作用但并非总是如此!有时TRUECRASH没有错误捕获,只是指向该行!我看到它们打印完全相同,但if语句没有通过.
我向那些经验丰富的人展示了代码,他觉得这可能是一个错误!有没有人接触过这个?
我需要将NSString表示十进制值的s 转换为十六进制字符串,例如,值为"10"的字符串应转换为字符串"A","15"应转换为"E","20"应为"14"等等上.
我怎么做?
我不想"知道"如何将字符串放在另一个字符串中的某个位置.我已经知道了,因为我想出了另一种方法.但我不知道真正的方式,它甚至存在吗?
我也问这个问题,以便将来有关如何将这个字符串放在另一个字符串中的位置的"错误"方式(如果它不能以真正的方式完成)
我的意思是将(子)字符串放在字符串的位置是例如放
这个字符串:@"Hello"的位置:5 inString:@"123456789"
我希望结果是:@"12345Hello6789"这可以通过真正的方式完成吗?像这样的假代码:
[str stringByPuttingString:@"s" atLocation:5];//this code does not exist
Run Code Online (Sandbox Code Playgroud)
我想出了其他方法来完成这项工作,我们可以将其用于更短的代码吗?
-(NSString *)putString:(NSString *)str atLocation:(int)location ofString:(NSString *)mainString {
NSRange range = NSMakeRange(location, 0);
return [mainString stringByReplacingCharactersInRange:range withString:str];
}
Run Code Online (Sandbox Code Playgroud)
和
-(NSString *)putString:(NSString *)str atLocation:(int)location ofString:(NSString *)mainString {
NSString *first = [mainString substringToIndex:location];
NSString *last = [mainString substringFromIndex:location];
return [NSString stringWithFormat:@"%@%@%@", first, str, last];
}
Run Code Online (Sandbox Code Playgroud)
第一个感觉最好,任何其他想法或真实想法?
乔纳森,未来这个"问题"的案例.
如何将NSString旋转到一定程度?当我与图像一起画一个字符串.
我提到这个问题用NSString drawInRect绘制旋转文本,但我的Ellipse消失了.
//Add text to UIImage
-(UIImage *)addMoodFound:(int)moodFoundCount andMoodColor:(CGColorRef)mColour
{
float scaleFactor = [[UIScreen mainScreen] scale];
UIGraphicsBeginImageContextWithOptions(CGSizeMake(36, 36), NO,scaleFactor);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
//CGContextSetRGBFillColor(context, kCGAggressiveColor);
CGContextSetFillColorWithColor(context,mColour);
CGContextFillEllipseInRect(context, CGRectMake(0, 0, 36, 36));
CGContextSetRGBFillColor(context, 250, 250, 250, 1);
//nsstring missing after adding this 3 line
CGAffineTransform transform1 = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(65));
CGContextConcatCTM(context, transform1);
CGContextTranslateCTM(context, 36, 0);
Run Code Online (Sandbox Code Playgroud)
////////////////////////////////////////////////
[[NSString stringWithFormat:@"%d",moodFoundCount ] drawInRect : CGRectMake(0, 7, 36, 18)
withFont : [UIFont fontWithName:monR size:17]
lineBreakMode : NSLineBreakByTruncatingTail
alignment : NSTextAlignmentCenter ];
CGContextRestoreGState(context);
UIImage …Run Code Online (Sandbox Code Playgroud) 我有以下几点NSString:
<span class='page-numbers current'>1</span>
<a class='page-numbers' href='http://www.testurl1.com'>2</a>
<a class='page-numbers' href='http://www.testurl2.com'>3</a>
<a class='page-numbers' href='http://www.testurl3.com'>4</a>
Run Code Online (Sandbox Code Playgroud)
我试图找出字符串page-numbers在这里的次数NSString.有一个简单的方法来做到这一点?
我希望我的输出为"23",但它仍显示"123".
NSString *valorTextField = [[NSString alloc] initWithFormat:@"123"];
[valorTextField stringByReplacingOccurrencesOfString:@"1" withString:@""];
NSLog(@"%@", valorTextField);
Run Code Online (Sandbox Code Playgroud) 我的一个函数中有一个POST请求块,我想更改块内的NSString对象的值.
我意识到通常可以只为变量添加前缀__block,但在我的情况下,希望通过直接引用其参数来更改NSString对象的值.
这是一个代码框架,带有相关注释.
- (void)getItemInformation:(NSString *)inputString{
//setup stuff
[manager POST:@"http://foo.com/iphone_item_string/"
parameters:parameters
success:^(AFHTTPRequestOperation *operation, id responseObject) {
//change inputString directly here
inputString = (NSString *)responseObject[0];
//this of course gives an error, but I'm
//unsure of how to use __block with a parameter
}
//foo
}
];
}
Run Code Online (Sandbox Code Playgroud)
和来自调用函数的一个段
currentEntryData.foo = "lorem";
NSString *retrieveString;
[self getItemInformation:retrieveString];
currentEntryData.bar = retrieveString;
currentEntryData.oof = "ipsum";
Run Code Online (Sandbox Code Playgroud) 我正在编写一个iOS应用程序,我需要通过Azure上的移动服务从SQL数据库中获取数据.
下载数据后,我得到了一个NSDictionary包含SQL-Table的所有属性.如果属性为空,则值为NSNull.
有没有一种方法可以NSNull在NSString没有IF语句的情况下传递给我(我不希望有20个if语句......)?
我正在尝试请求一个URL,我收到错误说
"数据参数为零".
我发现使用的变量有空格点(.).我认为这是由URL引起的问题.那么有没有办法发送有空格和点的URL而不会崩溃?
NSURL *url = [[NSURL alloc]initWithString:[NSString stringWithFormat:@"192.168.1.5/mobileapp?/signin=%@&%@",username,password]];
NSError *errors;
NSData *data = [NSData dataWithContentsOfURL:url];
NSDictionary *json = (NSDictionary *)[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&errors];
Run Code Online (Sandbox Code Playgroud) 我知道如何将'C'样式字符串转换为a NSString,但是有一种优雅(甚至简单!)的方式将单个'C'字符转换为单个字符NSString?
即'Z' - > @"Z"
创建char*字符串并设置string[0] = myChar然后使用
[NSString stringWithUTF8String:string]
Run Code Online (Sandbox Code Playgroud)
我看不到更好的方法.
nsstring ×10
ios ×8
objective-c ×7
json ×2
c ×1
cocoa-touch ×1
nsnull ×1
string ×1
substring ×1
whitespace ×1