我刚刚开始使用Objective-C和iphone app dev,我正在尝试设计一个计算器应用程序,我使用的逻辑是这样的:当用户点击任何按钮时,我通过[sender titleForState获取按钮的标题: UIControlStateNormal]方法,然后继续将其附加到字符串(NSString*result).说用户输入123 + 456,然后在我的字符串中我将有"123 + 456",现在我想要两个字符串"123"和"456",以便我可以通过[result intValue]方法添加它们.
所以我的问题是,我如何得到这两个单独的字符串("123"和"456")?
使用合适方法的示例代码将非常有用.
我在使用'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)'
我需要以这种方式操作一些URL来添加组件:
/img/david/PlayBasketball.jpg
会变成:
/img/HiRes/david/PlayBasketball.jpg
在Objective C for iPhone中,我该怎么做?
提前致谢!
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这些参数可能是零.(例如,当*timeZone是nil时,URL不应包含timezone=nil)的结果应是一个NSString.
我想比较以下简单的作业:
...
@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 UITextField和texta属性在哪里NSString?当然所有这些都有效.我知道使用参数时最后两个的区别.但是让我们说我们只对这种用法感兴趣.
问题:
stringWithString:如果没有,我为什么要使用呢?例如,我有一种情况,我有很多不同的double价值观1.00, 0.25 and 2.50.我想围绕这些,doubles使他们成为1, 0.25 and 2.5; 换句话说,我想删除任何尾随的0.有没有办法做到这一点?
目前我一直在使用%.2f,我想知道我是否可以利用这个,但以某种方式适应它.请有人帮帮我吗?
我正在使用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)
除了像åäö这样的特殊字符外,这种方法很好.有没有更好的方法?
我有一个奇怪的问题.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错误
码:
- (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.
否则,如果我不释放它,它说这是一个潜在的内存泄漏.
我应该在哪里以及如何发布它?谢谢!
例如,我想用@"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)
什么是更好的方式?我没有找到任何类似的方法来取代字符串数组.