我在iPhone应用程序工作.我从webservice响应中获取日期.当我收到我在NSArray中存储的日期时.当我将NSString更改为NSDate时,日期返回null.这是我的代码,
for (int k = 0; k<[dateArray count]; k++)
{
NSString *dateStr = [dateArray objectAtIndex:k];
NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
[dateFormatter1 setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
[dateFormatter1 setFormatterBehavior:NSDateFormatterBehaviorDefault];
[dateFormatter1 setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSLog(@"DateStr : %@", dateStr); //Console Output is : 2012-07-09 13:50:07 [For 42nd and above values]
NSDate *date = [dateFormatter1 dateFromString:dateStr];
NSLog(@"Date : %@", date); // Console Output is : (null) [For 42nd and above values]
}
Run Code Online (Sandbox Code Playgroud)
dateArray包含来自Webservice的43个日期值.的NSDateFormatter returns correct NSDate from NSString til 41nd values.当42nd string passing to …
下面的代码让我自动建议输入到UITextfield中的值,方法是将它与先前添加的字符串对象的数组进行比较,并在UITableview中显示它.这很好,但只适用于一个单词.
那么现在,我可以用这样的方式修改代码,即在用户输入逗号后再开始输入,我可以再次搜索相同的字符串数组以获取逗号后输入的字符的建议吗?
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (textField.tag == tagTextFieldTag) //The text field where user types
{
textField.autocorrectionType = UITextAutocorrectionTypeNo;
autocompleteTableView.hidden = NO; //The table which displays the autosuggest
NSString *substring = [NSString stringWithString:textField.text];
substring = [substring stringByReplacingCharactersInRange:range withString:string];
if ([substring isEqualToString:@""])
{
autocompleteTableView.hidden = YES; //hide the autosuggest table if textfield is empty
}
[self searchAutocompleteEntriesWithSubstring:substring]; //The method that compares the typed values with the pre-loaded string array
}
return YES;
}
- (void)searchAutocompleteEntriesWithSubstring:(NSString *)substring { …Run Code Online (Sandbox Code Playgroud) 我必须在我的nsstring中写"\\\".我试过@"\\\"但是效果不好.你能帮助我吗?谢谢.
我是objective-c的新手,我想知道如何获取NSString的stringValue,如果它等于照片,那么 //something
这是我正在使用的代码,NSLog打印"照片".
我正在为iPhone开发.
NSString *getPageType = [self.webView stringByEvaluatingJavaScriptFromString:
@"document.getElementById('pageType').name"];
NSLog(@"%@", getPageType);
if (getPageType == @"photo")
{
[UIButton animateWithDuration:3 animations:^{
downloadOverlay.alpha = 1;
downloadOverlay.alpha = 0;
}];
}
Run Code Online (Sandbox Code Playgroud) 我可能遗漏了一些明显的东西(仍在学习Objective-C!)但由于某种原因,我的一个NSString变量在我的if语句中有一个空值,我不知道为什么?
我甚至输出到NSLog,我仍然不明白为什么它的行为是这样的.
基本上,用户在文本字段(itemWeight)中输入金额,此if语句验证输入并根据结果显示警报.问题似乎只是在输入0.751时,如果输入任何其他数量(0.750,0.749,0.752,0.753等),它按预期工作.
相关代码示例如下......
.h文件:
@property (strong, nonatomic) IBOutlet UITextField *itemWeight;
Run Code Online (Sandbox Code Playgroud)
.m文件:
NSString *rawWeightText = itemWeight.text;
float convertedWeightText = rawWeightText.floatValue;
NSString *weightMessage;
if (convertedWeightText <= 0.750)
{
weightMessage = @"under 0.750";
}
else if (convertedWeightText >= 0.751)
{
weightMessage = @"0.751 or over";
}
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Error"
message: weightMessage
delegate: nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
Run Code Online (Sandbox Code Playgroud)
谢天谢地,任何我出错的想法/我忘记做的事情都会非常感谢!
所以我设置了我的UILabel,但是当我将游戏循环中的文本设置为一个得分的字符串(因此每次循环都重置了Text)时,我的应用程序崩溃了.
这是我得到的错误:
0x15560b0:cmpl(%eax),%ecx线程1
断点说:
EXC_BAD_ACCESS(代码= 1,地址= 0x67b30064
以下是我如何设置我的UILabel(在我的init方法中):
//SET UP THE SCORE LABEL HERE
scoreLabel = [[UILabel alloc] init];
scoreString = [NSString stringWithFormat:@"%d", score];
[scoreLabel setFont: [UIFont fontWithName: @"TimesNewRoman" size: 10.0f]];
[scoreLabel setFrame: CGRectMake(262, 250, 100, 40)];
[scoreLabel setBackgroundColor:[UIColor clearColor]];
[scoreLabel setTextColor: [UIColor clearColor]];
[scoreLabel setTextColor: [UIColor whiteColor]];
scoreLabel.transform = CGAffineTransformMakeRotation(89.53);
[self addSubview: scoreLabel];
//[scoreLabel setText: scoreString];
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正试图找到并替换任何出现[URL]的NSString.这是我的方法:
NSString *test = @"Test [URL] 123";
test = [test stringByReplacingOccurrencesOfString:@"[URL]"
withString:@"HERE"
options:NSRegularExpressionSearch
range:NSMakeRange(0, test.length)];
Run Code Online (Sandbox Code Playgroud)
结果是Test [HEREHEREHERE] 123.我想这是因为[URL]这3个字符中的任意一个,所以所有3个字符将被HERE一个接一个地替换.
但是我也试过\[URL\]了同样的结果.
所以,实际上,我怎么搜索的字符[和]?
我通过字符串参数收到日期,该参数是tempDateString,采用[day month year]格式(例如2005年05月05日):
NSLog(@"tempdatestring %@", tempDateString);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd MM YYYY"];
NSDate *dayDate = [dateFormatter dateFromString:tempDateString];
NSLog(@"daydate %@", dayDate);
Run Code Online (Sandbox Code Playgroud)
我的问题是,这两个日志不匹配.产出是:
tempdatestring 04 10 2012
daydate 2011-12-24 22:00:00 +0000
Run Code Online (Sandbox Code Playgroud)
我应该在日期格式化程序的日期格式中更改什么才能获得好日期?
我已经放入UILabel了我的应用程序,因为我希望在文本长度超过一定数量时显示文本....
因为如果文本更长,它会给出设计问题.
请告诉我们使用哪种功能.
我有一个urlString: http://www.youtube.com/watch?v=5kdEhVtNFPo
我希望能够将其改为: http://www.youtube.com/v/5kdEhVtNFPo
我该怎么做呢?我不确定我是否应该使用实例方法substringWithRange:或substringFromIndex:
我尝试了这个删除第一部分,只留下视频ID(它删除http://www.youtube.com/watch?v=)现在我只需要添加http://www.youtube.com/v/到字符串的开头.
NSString *newUrlString = [urlString substringFromIndex:31];
Run Code Online (Sandbox Code Playgroud) nsstring ×10
ios ×8
iphone ×5
objective-c ×5
uilabel ×2
cocoa ×1
if-statement ×1
nsdate ×1
null ×1
regex ×1
string ×1
uitextfield ×1