iOS中属性字符串转换成字符串

来源:互联网 发布:女生脱毛知乎 编辑:程序博客网 时间:2024/05/22 06:29
//将属性字符串转换成字符串  以下方法中提供两种方法,根据需求选取- (NSString *)textString{        /*     * 第一种方法:     */    NSAttributedString *attStr = _messageInputView.attributedText;        NSMutableAttributedString *resutlAtt = [[NSMutableAttributedString alloc] initWithAttributedString:attStr];        __block NSUInteger index = 1;    __weak __typeof(self) weakSelf = self;    //枚举出所有的附件字符串     __block NSUInteger base = 0;        [attStr enumerateAttribute:NSAttachmentAttributeName inRange:NSMakeRange(0, attStr.length)                     options:0                  usingBlock:^(id value, NSRange range, BOOL *stop) {                      if (value && [value isKindOfClass:[ImageTextAttachment class]]) {                           NSString *p = [NSString stringWithFormat:@"{{p%lu}}", (unsigned long)index];                          [resutlAtt replaceCharactersInRange:NSMakeRange(range.location + base, range.length)                                                     withString:p];                          if ([weakSelf.url isEqualToString:@""] || weakSelf.url == nil) {                                                            weakSelf.url = [NSString stringWithFormat:@"%@=%@", p, _imgUrlArray[index - 1]];                          } else {                              weakSelf.url = [NSString stringWithFormat:@"%@,%@=%@", weakSelf.url, p, _imgUrlArray[index - 1]];                                                        }                                                    base += p.length - 1;                          index++;                      }                  }];    
     /*     * 第二种方法:     */
// [attStr enumerateAttributesInRange:NSMakeRange(0, attStr.length) options:NSAttributedStringEnumerationLongestEffectiveRangeNotRequired usingBlock:^(NSDictionary *attrs, NSRange range, BOOL *stop) {// // //NSTextAttachment value类型 key-NSAttachment 从字典中取得那一个图片// //获取当前替换字符串的长度// __block NSUInteger base = 0;// NSTextAttachment *textAtt = attrs[@"NSAttachment"];// if (textAtt)// {// NSString *p = [NSString stringWithFormat:@"{{p%lu}}", (unsigned long)index];// [resutlAtt replaceCharactersInRange:NSMakeRange(range.location + base, range.length)// withString:p];// if ([weakSelf.url isEqualToString:@""] || weakSelf.url == nil) {// // weakSelf.url = [NSString stringWithFormat:@"%@=%@", p, _imgUrlArray[index]];// } else {// weakSelf.url = [NSString stringWithFormat:@"%@,%@=%@", weakSelf.url, p, _imgUrlArray[index]];// // }// // base += p.length;// index++;// // }// // }]; DLog(@"---resutlAtt.string----- %@", resutlAtt.string) return resutlAtt.string;
 
原创粉丝点击