调试以下代码时
NSString *var1 = @"blaa";
NSString *var2 = @"blaaaaa";
NSString* script = [NSString stringWithFormat:@"Set_Variable( %s, %s )",var1,var2];
Run Code Online (Sandbox Code Playgroud)
%s脚本中的占位符被有趣的乱码字符替换.你能看到代码中的任何错误吗?
我有三个字符串对象:
NSString *firstName;
NSString *lastName;
NSString *fullName;
Run Code Online (Sandbox Code Playgroud)
为价值观firstName和lastName从NSTextFields接收.
然后我想连接两个字符串并将结果放入 fullname.
这是我正在使用的代码:
fullName = [firstName stringByAppendingString:lastName];
Run Code Online (Sandbox Code Playgroud)
但是,结果不会在两个名称之间留出空格(例如JohnSmith).
如何添加空间?我希望结果看起来像(约翰史密斯).
我使用UILabel以多行和UILineBreakModeWordWrap模式显示我的文本,最大宽度为200.
例如,这里是文本:
I really really want to underline first word and second word, could you help me?
我想强调"第一个字"和"第二个字".
如果文本以单行模式显示,使用NSString的sizeWithFont方法,我可以轻松地计算"第一个单词"的位置,然后覆盖 - (void)drawTextInRect:(CGRect)rect来绘制该行.
但在多线模式下,我不知道如何获得这个位置.你有什么主意吗?
NSString *myString = @"Hello";
NSString *myString = [NSString stringWithString:@"Hello"];
我知道使用方法(1)创建一个指向字符串文字的指针,该字符串文字被定义为静态内存(并且不能被释放),并且使用(2)创建一个将被自动释放的NSString对象.
PS我已经在Stack Overflow上进行了广泛的搜索,虽然对同一主题有疑问,但他们都没有回答我上面发布的问题.
我需要从中得到一个long值NSString.
例如,我有这个:
NSString *test = @"5437128";
Run Code Online (Sandbox Code Playgroud)
我需要:
long myLong = 5437128;
Run Code Online (Sandbox Code Playgroud)
我如何从中获得这个long价值NSString?
谢谢,它会对我有所帮助!
我正在尝试检测我的字符串中的网站URL,然后做一些归属字符串,如粗体等.
我的正则表达式定义为:
static NSRegularExpression *websiteRegularExpression;
static inline NSRegularExpression * WebsiteRegularExpression() {
if (!websiteRegularExpression) {
websiteRegularExpression = [[NSRegularExpression alloc] initWithPattern:@"\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[A-Z0-9+&@#/%=~_|]"
options:NSRegularExpressionCaseInsensitive
error:nil];
}
return websiteRegularExpression;
}
Run Code Online (Sandbox Code Playgroud)
这是我列举的地方:
-(void)setBodyText
{
__block NSRegularExpression *regexp = nil;
bodyLabel.delegate = self;
[self.bodyLabel setText:@"http://www.google.com" afterInheritingLabelAttributesAndConfiguringWithBlock:^NSAttributedString *(NSMutableAttributedString *mutableAttributedString) {
NSRange stringRange = NSMakeRange(0, [mutableAttributedString length]);
regexp = WebsiteRegularExpression ();
NSRange nameRange = [regexp rangeOfFirstMatchInString:[mutableAttributedString string] options:0 range:stringRange];
UIFont *boldSystemFont = [UIFont boldSystemFontOfSize:18.0];
CTFontRef boldFont = CTFontCreateWithName((CFStringRef)boldSystemFont.fontName, boldSystemFont.pointSize, NULL);
if (boldFont) {
[mutableAttributedString addAttribute:(NSString *)kCTFontAttributeName value:(id)boldFont range:nameRange];
CFRelease(boldFont); …Run Code Online (Sandbox Code Playgroud) 假设以下代码,
NSString *str=[[NSString alloc] initWithString:@"sagar"];
[str autorelease];
Run Code Online (Sandbox Code Playgroud)
我已经多次看到,大多数程序员都喜欢在一个语句中同时放置alloc,init.
在这里,我要求为下一个声明划分自动释放的可能性.
当用户发送邮件时,我想要显示两个UITextView.问题是我希望第二个textview中的文本显示在邮件的新行中.
我已经尝试过使用NSLog,它在那里工作得很好,邮件API有问题或为什么不能正常工作?
我的代码看起来像这样:
NSString *desc = descriptionTextView.text;
NSString *ingredients = ingredientsTextView.text;
NSString *emailBody = [NSString stringWithFormat:@"%@\n\n%@", desc, ingredients];
NSLog(@"%@\n\n%@", desc, ingredients);
-(void)displayComposerSheet
Run Code Online (Sandbox Code Playgroud)
{MFMailComposeViewController*picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self;
[picker setSubject:titleLabel.text];
NSString *desc = descriptionTextView.text;
NSString *ingredients = ingredientsTextView.text;
NSString *emailBody = [NSString stringWithFormat:@"%@\n\n%@", desc, ingredients];
NSLog(@"%@\n\n%@", desc, ingredients);
[picker setMessageBody:emailBody isHTML:YES];
[self presentModalViewController:picker animated:YES];
[picker release];
Run Code Online (Sandbox Code Playgroud)
}
- (void)viewDidLoad {
titleLabel.text = [recipeData valueForKey:@"title"];
descriptionTextView.text = [recipeData valueForKey:@"description"];
ingredientsTextView.text = [recipeData valueForKey:@"ingredients"];
[super viewDidLoad];
Run Code Online (Sandbox Code Playgroud)
}
我是iOS新手,所以请耐心等待.
我想使用stringWithFormat构造一个字符串,但我想只在条件为真时才放入字符串的一部分.我怎样才能实现像 -
myString = [NSString stringWithFormat:@"%@%@",
@"myString1",
//put myString2 only if (someCondition)]
Run Code Online (Sandbox Code Playgroud)
如果我不够清楚,请告诉我.
是否有更好的方法来转换NSArray的NSString到NSArray的NSNumber比下面的代码:
-(NSArray*) convertStringArrayToNumberArray:(NSArray *)strings {
NSMutableArray *numbers = [[NSMutableArray alloc] initWithCapacity:strings.count];
for (NSString *string in strings) {
[numbers addObject:[NSNumber numberWithInteger:[string integerValue]]];
}
return numbers;
}
Run Code Online (Sandbox Code Playgroud) nsstring ×10
iphone ×6
objective-c ×6
ios ×4
cocoa-touch ×1
if-statement ×1
long-integer ×1
nsarray ×1
nsnumber ×1
nsrange ×1
uilabel ×1
xcode ×1