Ios 属性字符串的组合x个数
我想问一下如何组合属性字符串的x个数并生成单个字符串Ios 属性字符串的组合x个数,ios,objective-c,nsdate,nsmutableattributedstring,Ios,Objective C,Nsdate,Nsmutableattributedstring,我想问一下如何组合属性字符串的x个数并生成单个字符串 NSMutableArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:health.storeArry]; NSLog(@"%lu",(unsigned long)array.count); for (NSDate * str in array) { NSDateFormatter *date
NSMutableArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:health.storeArry];
NSLog(@"%lu",(unsigned long)array.count);
for (NSDate * str in array) {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.timeZone = [NSTimeZone localTimeZone];
dateFormatter.timeStyle = NSDateFormatterShortStyle;
NSString * dateTimeString = [dateFormatter stringFromDate:str];
NSString* str=dateTimeString;
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:str];
[attrString addAttribute: NSFontAttributeName value: [UIFont fontWithName:@"Helvetica" size:15] range: NSMakeRange(str.length-2,2)];
NSLog(@"%@",attrString);
[attrString appendAttributedString:attrString];
}
这是我的密码。我发现两个或三个AttibuteString的ans已被禁用,但我有一个数组,其中x numbernsdate
对象。我想把它们连接在一个字符串中。我怎样才能做到这一点?
谢谢像这样做
NSArray *arr = [NSArray arrayWithObjects:@"one",@"two",@"three", nil];
NSMutableString *str = [[NSMutableString alloc]init];
for (int i = 0; i < arr.count; i++) {
str = [str stringByAppendingString:[arr objectAtIndex:i]];
}
NSLog(@"final str is %@",str);
然后你可以附加它。因此,从数组中获取属性字符串,将其转换为nsstring并附加它。执行类似操作
NSArray *arr = [NSArray arrayWithObjects:@"one",@"two",@"three", nil];
NSMutableString *str = [[NSMutableString alloc]init];
for (int i = 0; i < arr.count; i++) {
str = [str stringByAppendingString:[arr objectAtIndex:i]];
}
NSLog(@"final str is %@",str);
然后你可以附加它。因此,从数组中获取属性字符串,将其转换为nsstring并将其追加。您的问题是每次创建新的
NSMutableAttributedString
。你需要把它放在for循环之外
NSMutableArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:health.storeArry];
NSLog(@"%lu",(unsigned long)array.count);
NSMutableAttributedString *finalAttributedString = [NSMutableAttributedString alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.timeZone = [NSTimeZone localTimeZone];
dateFormatter.timeStyle = NSDateFormatterShortStyle;
for (NSDate *str in array) {
NSString *dateTimeString = [dateFormatter stringFromDate:str];
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:dateTimeString];
[attrString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica" size:15] range:NSMakeRange(str.length-2,2)];
NSLog(@"%@",attrString);
[finalAttributedString appendAttributedString:attrString];
}
//Here, you can read the finalAttributedString
不相关提示:您应该在for循环之外分配/初始化
NSDateFormatter
。它始终是相同的,加上NSDateFormatter
的alloc/init正在消耗。您的问题是每次创建一个新的nsmutableAttributeString
时都要创建它。你需要把它放在for循环之外
NSMutableArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:health.storeArry];
NSLog(@"%lu",(unsigned long)array.count);
NSMutableAttributedString *finalAttributedString = [NSMutableAttributedString alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.timeZone = [NSTimeZone localTimeZone];
dateFormatter.timeStyle = NSDateFormatterShortStyle;
for (NSDate *str in array) {
NSString *dateTimeString = [dateFormatter stringFromDate:str];
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:dateTimeString];
[attrString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica" size:15] range:NSMakeRange(str.length-2,2)];
NSLog(@"%@",attrString);
[finalAttributedString appendAttributedString:attrString];
}
//Here, you can read the finalAttributedString
不相关提示:您应该在for循环之外分配/初始化
NSDateFormatter
。它始终是同一个,加上NSDateFormatter
的alloc/init正在使用。我想组合NSMutableAttributedString。。。。您的代码用于simplestring。您有属性字符串数组吗?实际上,您不能将stringByAppendingString
用于属性字符串。我想组合NSMutableAttributeString。。。。您的代码适用于simplestring。您有属性字符串数组吗?实际上,您不能将stringByAppendingString
用于属性字符串。您的代码中有什么不起作用?您需要在for循环外部定义NSMutableAttributedString。不相关提示:您应该在for循环之外分配/初始化NSDateFormatter
。它总是相同的,加上NSDateFormatter
的alloc/init正在使用。您的代码中有什么不起作用?您需要在for循环外部定义NSMutableAttributedString。不相关提示:您应该在for循环之外分配/初始化NSDateFormatter
。它始终是相同的,加上NSDateFormatter
的alloc/init正在使用。