我有一个来自服务器的字符串,我在UILabel上显示.它在该字符串中,我正在识别一些特定的子字符串.我想在子字符串上放置一个按钮(按钮将是UILabel的子视图).为此,我需要子串坐标.我经历了这个要点,但我无法理解它.
假设我的完整字符串是abc,567-324-6554,纽约.我想在按钮上显示567-324-6554,我需要它的坐标.如何使用上面的链接查找子串的坐标?
将NSString转换为NSData有不同的方法.
NSString *req_string = @"I am a NSString.";
NSData *req_data = [NSData dataWithBytes:[req_string UTF8String] length:[req_string length]];
// or
NSData *req_data_alt = [req_string dataUsingEncoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)
这两种方法有什么区别?
我试图连接几个NSStrings,但想排除那些空值.我正在使用这个解决方案:
[NSString stringWithFormat:@"%@/%@/%@", three, two, one];
Run Code Online (Sandbox Code Playgroud)
但如果其中一个字符串为空呢?我想排除它.有任何想法吗?
谢谢.
我需要将一些聊天代码从iOS移植到Android.在将聊天消息发送到套接字之前,iOS代码使用NSNonLossyASCIIStringEncoding该类作为NSString :: dataUsingEncoding的参数.
你会如何在Android中做到这一点?关于相反解码的相同问题.
例如,如果不这样做,换行符就会消失在另一个移动设备上收到的消息中.
iOS上的代码:
NSData *data1 = [myStringTosend dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *goodValue = [[[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding] autorelease];
Run Code Online (Sandbox Code Playgroud)
并解码:
NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding:NSASCIIStringEncoding]];
Run Code Online (Sandbox Code Playgroud)
到目前为止(并且不正确),在Android端进行编码:
OutputStream os = socket.getOutputStream();
os.write(request.getBytes("UTF-8"));
os.flush();
Run Code Online (Sandbox Code Playgroud)
并解码:
while ((bytesRead = is.read(buffer, 0, BUFFER_SIZE)) >= 0) {
if (bytesRead > 0) response.append(new String(buffer, 0, bytesRead, "UTF-8"));
if (bytesRead < BUFFER_SIZE) break;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将字符串转换为URL但未获得成功.任何更好的方法,或改进下面的代码.谢谢
NSString *strURL = @"http://domain.com/This Is My, Code for This. app";
NSString *escapedUrlString = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(escapedUrlString);
Run Code Online (Sandbox Code Playgroud)
它显示此日志
http://domain.com/This2s2y ,芙ode
0.000000or2his.20x1.55e800047f4p-1029pp
这是我的实际代码发送和保存数据到mysql
NSString *data = @"This Is My, Code for This. app";
NSString *strURL = [NSString stringWithFormat:@"http://domain.com/connection.php?data=%@", data];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
NSURL *urll = [NSURL URLWithString:strResult];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:urll];
[request setHTTPMethod:@"GET"];
NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSLog(@"responseData: %@", responseData);
Run Code Online (Sandbox Code Playgroud)
这没有成功,但是当我使用时
data = …Run Code Online (Sandbox Code Playgroud) 以下示例程序输出相同,但程序无法正常工作.
NSDirectoryEnumerator *directoryEnumerator = [[NSFileManager defaultManager]
enumeratorAtPath:kDocdir];
for (NSString *pathi in directoryEnumerator)
{
NSString *fileName_Manager = [pathi lastPathComponent];
NSLog(@"fileName_Manager = %@",fileName_Manager);
Artist *name_Databse = [self.fetchedResultsController
objectAtIndexPath:IndexPath];
NSLog(@"name_Databse = %@",name_Databse.name);
if ([fileName_Manager isEqualToString:name_Databse.name]) {
NSLog(@"Same Name");
}else{
NSLog(@"Different Name");
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
2013-04-25 15:37:43.256 Player[36436:907] fileName_Manager = alizée - mèxico - final j'en
2013-04-25 15:37:43.272 Player[36436:907] name_Databse = alizée - mèxico - final j'en
2013-04-25 15:37:44.107 Player[36436:907] Different Name
Run Code Online (Sandbox Code Playgroud)
名称中的特殊字符时无法正常工作.为什么会这样?谢谢 ...
这里有同样的问题:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@",[pathi lastPathComponent]];
Run Code Online (Sandbox Code Playgroud)
我如何在这里进行编辑?
我需要追加下列字符‡, †, *为上标以NSString在iOS.需要你的帮助.我使用以下http://en.wikipedia.org/wiki/General_Punctuation_(Unicode_block)链接,但他们正在追加NSString,但我希望它们作为上标
我有一个来自在线数据库的字符串数组,我试图确定最常用的单词.数组内部的值会有所不同,但我想查看我正在使用的任何集合或单词中最常见的单词.如果理论上我有一个以下阵列......
NSArray *stringArray = [NSArray arrayWithObjects:@"Duck", @"Duck", @"Duck", @"Duck", @"Goose"];
Run Code Online (Sandbox Code Playgroud)
如何遍历此数组以确定最常见的字符串,这显然是"鸭子"?
我正在测试以下代码:
username = @"addagkagalkjagjalggxxaklgjagjglkjag";
NSString *fullUsername = [NSString stringWithFormat:@"%@%@", @"@", username];
UIButton *usernameButton = [UIButton buttonWithType:UIButtonTypeSystem];
[usernameButton setTitle:fullUsername forState:UIControlStateNormal];
usernameButton.frame = CGRectMake(100.0, 10.0, 215.0, 25.0);
Run Code Online (Sandbox Code Playgroud)
最终结果在标签的中心截断和省略.我最后想要它,但我必须为此设置什么属性?
我在NSData类别中有NSData-to-NSString转换,因为我总是使用NSString方法:initWithData:encoding:.但是,根据这个答案,/sf/answers/172749951/,并不是那么简单.
到目前为止,我在我的NSData类别中使用了此方法,以便与其他数据对象中的方法保持一致,这些方法从具有相同名称的方法返回字符串:
- (NSString *) stringValue
{
return [[NSString alloc] initWithData:self encoding:NSUTF8StringEncoding];
}
Run Code Online (Sandbox Code Playgroud)
到目前为止它是成功的,但我想确定一个字符串是否以null结尾,以决定是否应该使用此方法,也来自答案链接:
NSString* str = [NSString stringWithUTF8String:[data bytes]];
Run Code Online (Sandbox Code Playgroud)
如何确定UTF-8编码是否NSData包含以空值终止的字符串?
得到下面的答案后,我为我的NSDataCategory方法编写了更全面的实现,stringValue:
- (NSString *) stringValue
{
//Determine if string is null-terminated
char lastByte;
[self getBytes:&lastByte range:NSMakeRange([self length]-1, 1)];
NSString *str;
if (lastByte == 0x0) {
//string is null-terminated
str = [NSString stringWithUTF8String:[self bytes]];
} else {
//string is not null-terminated
str = [[NSString …Run Code Online (Sandbox Code Playgroud)