标签: nsstring

如何在Objective-C中从char指针拆分换行符?

我有一个缓冲区,即char指针.这个内容是这样的:

aaa
bbb
ccc
Run Code Online (Sandbox Code Playgroud)

我怎样才能aaachar指针中获取第一行?我首先尝试将其转换为NSString,但我可以\n在Objective-c中将其拆分吗?

就像是:

arrayString[0] = "aaa",arrayString[1] = "bbb",arrayString[2] = "ccc"

split objective-c nsstring

2
推荐指数
1
解决办法
1226
查看次数

为什么我得到:从结果类型为char*的函数返回const char*丢弃限定符

我需要TE返回NSStringchar *:

char *inboxPath (void) 
{ 
    NSURL * url = [[[[NSFileManager defaultManager] 
                 URLsForDirectory:NSDocumentDirectory 
                 inDomains:NSUserDomainMask] lastObject] URLByAppendingPathComponent:@"inbox.txt"];
    return [[NSString stringWithFormat:@"%@", url] UTF8String]; 
}
Run Code Online (Sandbox Code Playgroud)

我得到:从结果类型为'char*'的函数返回'const char*'会丢弃限定符

为什么我得到这个以及如何解决它?
显然我不太了解C,有没有更简单的方法呢?

c objective-c char nsstring

2
推荐指数
1
解决办法
2391
查看次数

目标C中的NSString切片(从右到左)

如何使用最后x个字符对NSString进行子串?右到左.

在python中它只需要一行!

>>> "string"[-4:]
'ring'
Run Code Online (Sandbox Code Playgroud)

string iphone objective-c slice nsstring

2
推荐指数
1
解决办法
6173
查看次数

NSString componentsSeparatedByString

我有一个来自服务器的字符串.我正在识别一个特定的子字符串,然后在该子字符串处断开主字符串.

NSString *string = /* getting from server */;
NSString *strAddress = /* Substring of string */;
NSArray *arr = [string componentsSeparatedByString:strAddress];
NSString *strBeforeAddress = [arr objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

strAddress它有前面的东西时,这完全正常.但在某些情况下,它完全给出了一个奇怪的结果.例如,何时

string = @"cxzcvxcv\n14, Beaven Dam Road\nVail, CO81657";
strAddress = @"14, Beaven Dam Road\nVail, CO81657";
Run Code Online (Sandbox Code Playgroud)

我只得到一个对象arr,完整的字符串,我认为是错的.它应该将结果作为2个对象:cxzcvxcvblank object.但是,什么时候

string = @"14, Beaven Dam Road\nVail, CO81657";
strAddress = @"14, Beaven Dam Road\nVail, CO81657";
Run Code Online (Sandbox Code Playgroud)

arr在这种情况下,数组有1个对象,完整的字符串.有人可以解释一下这里发生了什么吗?

iphone nsstring

2
推荐指数
1
解决办法
2万
查看次数

如何确定iOS(id)对象的结构?

当我从iOS应用程序调用某个函数时,它会返回一个id数据类型.我无法看到这个函数,所以我不知道它在做什么或者返回类型到底是什么.

如果我使用NSLog("@"...)类似于此的字符串将其打印到控制台: 2012-01-18 19:03:08.915 HelloWorld[165:707] Key Press State.

有没有办法让我确定这个基本Id对象的结构?我将如何获得该响应的特定部分,例如"Key press state".字符串解析似乎是一个可怕的想法,但也许这是唯一的方法.也许数据真的只是一个NSString

谢谢!

casting class nslog nsstring ios

2
推荐指数
1
解决办法
6621
查看次数

将带有变音符号的NSString转换为const char *

我花了几个小时来解决这个问题,却一无所获。抱歉,如果答案在Internet上的某个地方,我真的找不到。

我有一个NSString *header = @"ästrç";或其他来自德语,瑞典语等语言的变音符号。

我需要将其NSString转换为:

const char* cString = [header cStringUsingEncoding: NSASCIIStringEncoding];
Run Code Online (Sandbox Code Playgroud)

注意:NSASCIIStringEncodingNSMacOSRomanStringEncoding不起作用。

我也试过这个:

const char *cString = [header UTF8String];
Run Code Online (Sandbox Code Playgroud)

不工作

有谁可以帮助我吗?这很奇怪。

编辑:

“不工作”是指如果我有这些字符: 输入项

它将输出以下内容: 输出量

我不在乎NSLog。我需要const char *才能用PDF编写方法:

HPDF_Page_TextOut  (HPDF_Page    page, HPDF_REAL    xpos, HPDF_REAL    ypos, const char  *text)
Run Code Online (Sandbox Code Playgroud)

encoding diacritics char nsstring

2
推荐指数
1
解决办法
2091
查看次数

NSDateFormatter dateFromString返回null

我正在尝试将日期对象中的字符串日期,以便我可以进行一些比较.我的代码如下:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy/MM/dd_hh:mm:ss"];
NSDate *date = [formatter dateFromString:@"2012/02/06_20:35:59"]; 
[formatter release];

NSLog(@"date = %@", date);
Run Code Online (Sandbox Code Playgroud)

我的NSLog显示*date = null;

任何帮助表示赞赏.谢谢.

objective-c nsstring nsdateformatter

2
推荐指数
1
解决办法
1724
查看次数

将NSString转换为Float - 在小数位数中添加?

我正在解析XML文件中的一些顶点信息,其内容如下(部分提取):

21081.7 23447.6 2781.62 24207.4 18697.3 -2196.96
Run Code Online (Sandbox Code Playgroud)

我将字符串保存为NSString,然后转换为浮点值(我稍后会将其输入OpenGL ES)

NSString * xPoint = [finishedParsingArray objectAtIndex:baseIndex];
                 NSLog(@"xPoiint is %@", xPoint);

                 float x = [xPoint floatValue];
Run Code Online (Sandbox Code Playgroud)

问题是float x更改值如下:

21081.699219, 23447.599609, 2781.620117, 24207.400391, 18697.300781, -2196.959961
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它正在改变小数位数(不确定它是如何做到的 - 必须在xml文件中隐藏格式化?)

我的问题是如何存储浮点数以匹配NSString/XML文件中的原始数字到相同的小数位数?

提前致谢 !

floating-point objective-c nsstring ios

2
推荐指数
1
解决办法
1397
查看次数

SBJSON将NSString解析为NSDictionary

我正在尝试使用SBJson 3.0.4将包含JSON数据的NSString解析为NSDictionary,但是当我这样做时,我收到此错误:

"WebKit在webView中丢弃了一个未捕获的异常:shouldInsertText:replacementDOMRange:givenAction:delegate: - [__ NSCFString JSONValue]:无法识别的选择器发送到实例0x6ab7a40"

据我所知(这不是很远),我得到的JSON是有效的,所以我不知道为什么会这样.我的代码编译得很好......这里是:

NSString *tempURL = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?address=%@&sensor=true",userInput.text];
NSURL *url = [NSURL URLWithString:tempURL];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url 
                                            cachePolicy:NSURLRequestReturnCacheDataElseLoad
                                        timeoutInterval:30];
// fetch the JSON response
NSData *urlData;
NSURLResponse *response;
NSError *error;

// make the synchronous request
urlData = [NSURLConnection sendSynchronousRequest:urlRequest 
                                returningResponse:&response 
                                            error:&error];

// construct a String around the Data from the response
NSString *data = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];
NSDictionary *feed = [data JSONValue];
Run Code Online (Sandbox Code Playgroud)

json objective-c nsdictionary nsstring sbjson

2
推荐指数
1
解决办法
5870
查看次数

将NSString转换为float会产生不精确的值

我的视图中有两个文本字段.提示用户输入值后,我将它们转换为floats来进行计算.

我使用以下代码:

variable1 = [textField1.text floatValue];
variable2 = [textField2.text floatValue];`
Run Code Online (Sandbox Code Playgroud)

当用户输入22.8英寸时textField1,我得到22.80005英寸variable1.

我没有得到确切的价值!

如何获得精确的十进制值?任何添加都可能影响计算的准确性.

floating-point cocoa cocoa-touch numbers nsstring

2
推荐指数
1
解决办法
2683
查看次数