我有像我的名字一样的NSString.我想在到达最后一个空格后删除文本.意味着在我想删除的最后一个空格之后出现的任何文字.答案就是我的名字.如果有人知道怎么做,请帮助我.
我正在使用以下代码加载一些声音,具体取决于用户点击的按钮.文件路径完全加载testString,但是当NSLogging时URLToBeReturned,它出来了(null).我不确定为什么它没有转移.
NSString *testString = [NSString stringWithString:[[NSBundle mainBundle] pathForResource:noteName ofType:@"m4a"]];
NSURL *URLToBeReturned = [NSURL URLWithString:testString];
return URLToBeReturned;
Run Code Online (Sandbox Code Playgroud) 例如:
NSString *sentence = @"My name is Roman";
NSString *name = @"Roman";
Run Code Online (Sandbox Code Playgroud)
有没有办法name从sentence字符串中删除文本?
在我的viewDidLoad方法中,我设置以下变量:
// Get requested URL and set to variable currentURL
NSString *currentURL = self.URL.absoluteString;
//NSString *currentURL = mainWebView.request.URL.absoluteString;
NSLog(@"Current url:%@", currentURL);
//Get PDF file name
NSArray *urlArray = [currentURL componentsSeparatedByString:@"/"];
NSString *fullDocumentName = [urlArray lastObject];
NSLog(@"Full doc name:%@", fullDocumentName);
//Get PDF file name without ".pdf"
NSArray *docName = [fullDocumentName componentsSeparatedByString:@"."];
NSString *pdfName = [docName objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)
我希望能够在另一个方法中使用这些变量(即- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {)
如何在viewDidLoad方法之外重用这些变量?我是新手......帮助会非常感激
我有一个UIWebView,它有一个表,我想要它的UIWebView大小的80%,但在de NSString我用作html:
"<table width = \"80%\", align = \"center\">"
Run Code Online (Sandbox Code Playgroud)
我有一个警告:
Invalid conversion specifier '"'**
Run Code Online (Sandbox Code Playgroud)
因为它正在等待广告或@或其他什么.
我尝试使用NSLog查看html,并且缺少%
<table width = "80", align = "center">
Run Code Online (Sandbox Code Playgroud)
如何告诉NSString%值?先感谢您
我对这件事感到很困惑.在任何教程中,github和文档中的代码我看过BOOL,NSStrings,NDDictionaries等都以小写字母开头.例如.NSString*aString这有必要吗?如果我在创建BOOL等时使用大写,会不会有任何损坏?我真的很困惑:P非常感谢任何帮助!
编辑:使用下划线然后在Capitals中声明变量是一个好主意吗?
我测试了这个示例代码.
Sample.h
{
NSString *string1;
NSString *string2;
NSMutableString *string3;
}
@property (assign) IBOutlet NSWindow *window;
@property (strong,nonatomic) NSString *string1;
@property (copy,nonatomic) NSString *string2;
@property (strong,nonatomic) NSMutableString *string3;
@end
Run Code Online (Sandbox Code Playgroud)
Sample.m
#import "Sample.h"
@synthesize string1;
@synthesize string2;
@synthesize string3;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
string1 = [[NSString alloc] init];
string2 = [[NSString alloc] init];
string3 = [[NSMutableString alloc] initWithString:@"test"];
string2 = string3;
string1 = string3;
[string3 appendString:@"test"];
NSLog(@"%@",string1);
NSLog(@"%@",string2);
NSLog(@"%@",string3);
}
@end
Run Code Online (Sandbox Code Playgroud)
结果是
2012-09-23 00:11:48.610 sample[13468:303] testtest
2012-09-23 00:11:48.611 sample[13468:303] testtest
2012-09-23 00:11:48.611 …Run Code Online (Sandbox Code Playgroud) 我有一个电话号码格式化为易于阅读的电话号码,即 (123) 123-4567
但是,当我想在代码中使用该电话号码时,我需要将该字符串解析为数字变量(例如int)
但是,[string intValue]; 不起作用 - 我intValue在以前的项目中使用了大约一百万次,都没有问题,但是在这里,我传入的每个字符串,我得到相同的,随机int退出:
- (int)processPhoneNumber:(NSString *)phoneNumber {
NSMutableString *strippedString = [NSMutableString stringWithCapacity:10];
for (int i=0; i<[phoneNumber length]; i++) {
if (isdigit([phoneNumber characterAtIndex:i])) {
[strippedString appendFormat:@"%c",[phoneNumber characterAtIndex:i]];
}
}
NSLog(@"clean string-- %@", strippedString);
int phoneNumberInt = [strippedString intValue];
NSLog(@"**** %d\n &i", phoneNumberInt, phoneNumberInt);
return phoneNumberInt;
}
Run Code Online (Sandbox Code Playgroud)
然后当我调用这个方法时:
NSLog(@"%i", [self processPhoneNumber:self.phoneNumberTextField.text]);
Run Code Online (Sandbox Code Playgroud)
我明白了:2147483647. 我给这个方法的每个输入都返回:2147483647
cocoa-touch objective-c type-conversion phone-number nsstring
我已经看过这个问题,但没有解决方案.这是问题所在.
po [myNumberFormatter stringFromNumber:myNumber]
Run Code Online (Sandbox Code Playgroud)
输出 - >(id)$ 4 = 1.500,00
p (char) [(NSString *)[myNumberFormatter stringFromNumber:myNumber] characterAtIndex:1]
Run Code Online (Sandbox Code Playgroud)
输出 - >(char)$ 5 ='\ xa0'
po [(NSString *)[myNumberFormatter stringFromNumber:myNumber] stringByReplacingOccurrencesOfString:@"\xa0" withString:@" "]
Run Code Online (Sandbox Code Playgroud)
输出 - >(id)$ 6 = 1.500,00
有一点需要注意的是,在屏幕上,值1.500,00看起来像1 500,00.但有没有办法将'\ xa0'字符转换为字符串中的@""?
以下解决方案已经有效,但它存在将未包含的所有内容转换为空白字符的问题.
po [(NSString *)[myNumberFormatter stringFromNumber:myNumber] stringByReplacingSequenceOfCharactersInSet:(NSCharacterSet *)[[NSCharacterSet characterSetWithCharactersInString:@"0123456789,."] invertedSet] with:@" "]
Run Code Online (Sandbox Code Playgroud)
编辑 --------------
我已经尝试了下面的答案,我认为这是错误的
po [(NSString *)[numberFormatter stringFromNumber:theNumber] stringByReplacingOccurrencesOfString:@"\u00a0" withString:@" "]
Run Code Online (Sandbox Code Playgroud)
仍然产生相同的结果(\ xa0 char仍未删除).但是当我没有将它放在调试器中,而是将其放在代码中的NSString中时,存储了正确的答案并删除了\ xa0字符.猜猜我不应该单独依赖调试器日志.
我有一个
@property(retain) NSString* test;
Run Code Online (Sandbox Code Playgroud)
它在实现文件中合成.
在dealloc中,这两个都是正确的吗?
self.test = nil;
Run Code Online (Sandbox Code Playgroud)
和
self.test = @"";
Run Code Online (Sandbox Code Playgroud)
当我记录了retainCount为nil和@""时,它分别给出输出为0和-1.
我只是想知道两者是否产生相同的结果.
提前致谢.
nsstring ×10
objective-c ×8
ios ×4
cocoa-touch ×3
iphone ×3
cocoa ×2
nsurl ×1
phone-number ×1
properties ×1
variables ×1
xcode ×1