标签: nsstring

在Objective-C中将单个字符串分成两个不同的字符串

我刚刚开始使用Objective-C和iphone app dev,我正在尝试设计一个计算器应用程序,我使用的逻辑是这样的:当用户点击任何按钮时,我通过[sender titleForState获取按钮的标题: UIControlStateNormal]方法,然后继续将其附加到字符串(NSString*result).说用户输入123 + 456,然后在我的字符串中我将有"123 + 456",现在我想要两个字符串"123"和"456",以便我可以通过[result intValue]方法添加它们.

所以我的问题是,我如何得到这两个单独的字符串("123"和"456")?

使用合适方法的示例代码将非常有用.

string iphone objective-c nsstring ios

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

NSString initWithFormat生成值(null)

我在使用'initWithFormat'创建字符串时遇到了一些问题.这是我正在使用的代码:

- (void)convertSpeedUnits
{
    NSString *speedUnits = [[NSUserDefaults standardUserDefaults] stringForKey:kSpeedUnits];
    double speed;
    if ([speedUnits isEqualToString:@"Knots"])
    {
        speed = ms2knots(currentSpeedMS);
    }
    else if ([speedUnits isEqualToString:@"MPH"])
    {
        speed = ms2kph(currentSpeedMS);             
    }
    else if ([speedUnits isEqualToString:@"KPH"])
    {
        speed = ms2mph(currentSpeedMS); 
    }

    NSString *speedLabel = [[NSString alloc] initWithFormat:@"%.2f %s", speed, speedUnits];
    currentSpeed.text = speedLabel;
    [speedLabel release];
}
Run Code Online (Sandbox Code Playgroud)

我希望speedLabel会是这样的......

'1.12结'或'1.12 MPH'或'1.12 KPH'

但是我得到的是以下内容

'1.12(null)'

iphone objective-c nsuserdefaults nsstring

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

ObjC:如何将组件从A/B插入到A// B之间?

我需要以这种方式操作一些URL来添加组件:

/img/david/PlayBasketball.jpg

会变成:

/img/HiRes/david/PlayBasketball.jpg

在Objective C for iPhone中,我该怎么做?

提前致谢!

iphone url objective-c nsstring ios

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

stringWithFormat中的变量参数列表用于查询字符串

NSString当参数计数变量时,用最简单的方法构建查询是什么?

假设我有一个Web服务,它返回按参数列表过滤的国家/地区列表.例如:

NSString *continent = @"europe";
NSString *language  = @"german";
NSString *timeZone  = @"UTC+1";
// to be continued
Run Code Online (Sandbox Code Playgroud)

因此我的查询字符串将是:

[NSString stringWithFormat:@"/getCountries?continent=%@&language=%@&timezone=%@",
    continent, language, timeZone];
Run Code Online (Sandbox Code Playgroud)

我的回复将包含

奥地利,德国和瑞士

因为它们匹配所有三个参数.

现在我正在寻找最聪明的方法(例如,不是ifs 的意大利面条代码)来构建这个查询,当0:n这些参数可能是零.(例如,当*timeZonenil时,URL不应包含timezone=nil)的结果应是一个NSString.

cocoa objective-c nsstring

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

使用[NSString stringWithString:@"some string"]与@"some string"的优点和缺点

我想比较以下简单的作业:

...
@property(nonatomic,retain) UITextField *textField;
...

self.textField.text = @"some string";
self.textField.text = [NSString stringWithString:@"some string"];
self.textField.text = [NSString stringWithFormat:@"some string"];
Run Code Online (Sandbox Code Playgroud)

textFielda UITextFieldtexta属性在哪里NSString?当然所有这些都有效.我知道使用参数时最后两个的区别.但是让我们说我们只对这种用法感兴趣.

问题:

  1. 为了做这种任务,我为什么不总是使用第一个?
  2. 比较后两个,这两个的编译和/或运行时间有什么不同吗?stringWithString:如果没有,我为什么要使用呢?

cocoa cocoa-touch objective-c nsstring ios

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

舍入用于NSString中的双精度数

例如,我有一种情况,我有很多不同的double价值观1.00, 0.25 and 2.50.我想围绕这些,doubles使他们成为1, 0.25 and 2.5; 换句话说,我想删除任何尾随的0.有没有办法做到这一点?

目前我一直在使用%.2f,我想知道我是否可以利用这个,但以某种方式适应它.请有人帮帮我吗?

double objective-c rounding nsstring

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

带有åöä的NSData到NSString

我正在使用NSMutableURLRequest下载一个网页,但在将该网页放入NSString时遇到问题.

NSString *username = @"my_username";

NSString *password = @"my_password";

NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"https://www.mypage.com/login.php?username=%@&password=%@", username, password]];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

NSString *returnPage = [NSString stringWithFormat:@"%.*s", [returnData length], [returnData bytes]];
Run Code Online (Sandbox Code Playgroud)

除了像åäö这样的特殊字符外,这种方法很好.有没有更好的方法?

objective-c utf-8 nsstring non-ascii-characters nsdata

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

获取NSString变量的值

我有一个奇怪的问题.pictureLink是以.h声明的全局变量

 NSString *pictureLink;
}
@property(retain,nonatomic) NSString *pictureLink;
Run Code Online (Sandbox Code Playgroud)

我写了这段代码

NSString * myPictureUrl=[NSString stringWithFormat:@"http://mywebsite.com/uploads/%@.jpg",hash];
pictureLink=myPictureUrl;
Run Code Online (Sandbox Code Playgroud)

我有一个奇怪的结果,它必须是一个指针或

pictureLink=[NSString stringWithFormat:@"http://mywebsite.com/uploads/%@.jpg",hash];
Run Code Online (Sandbox Code Playgroud)

我有EXC_BAD_ACESS错误

iphone objective-c nsstring

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

我应该如何正确释放这个NSString?

码:

- (void) foo : (NSString*) ori_string
{
    her_string = [ori_string copy];

    while ([her_string length]>0) 
    {
        her_string = [her_string substringFromIndex:1];
        //do something...
    }

    [her_string release];  //Here is the problem
}
Run Code Online (Sandbox Code Playgroud)

大家好,

如果我her_string像上面那样发布,分析师说it's an incorrect decrement of the reference count of an object that is not owned at this point by the caller.

否则,如果我不释放它,它说这是一个潜在的内存泄漏.

我应该在哪里以及如何发布它?谢谢!

memory-management objective-c release-management nsstring

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

替换字符串中的字符串列表(Objective-c 2.0)

例如,我想用@"z"替换@"abcdabcd"中所有出现的@"a"和@"b".我正在这样做,反复呼吁stringByReplacingOccurencesOfString:withString::

NSString *s1 = @"abcdabcd";
NSString *s2 = [[s1 stringByReplacingOccurencesOfString:@"a" withString:@"z"]
                 stringByReplacingOccurencesOfString:@"b" withString:@"z"];
Run Code Online (Sandbox Code Playgroud)

什么是更好的方式?我没有找到任何类似的方法来取代字符串数组.

replace objective-c nsstring

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