从File加载NSAttributedString

时间:2013-09-30 23:04:53

标签: iphone ios ios7 nsattributedstring

有没有办法在文件中包含某种富文本,并将文件加载到NSAttributedString中?我研究了将.rtf文件加载到NSAttributed String:

NSString *filePathFooter = [[NSBundle mainBundle] pathForResource:kFooterFileName ofType:@"rtf"];

NSError *error = nil;
NSAttributedString *string = [[NSAttributedString alloc] initWithFileURL:[NSURL URLWithString:filePathFooter]
                                                                 options:nil
                                                      documentAttributes:NULL
                                                                   error:&error];

但这让我失望:

Error Domain=NSCocoaErrorDomain Code=258 "The operation couldn’t be completed. (Cocoa error 258.)"

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:4)

使用URLForResource代替,并传递生成的网址,如下所示:

NSURL *url = [[NSBundle mainBundle] URLForResource:kFooterFileName withExtension:@"rtf"];

NSError *error = nil;
NSAttributedString *string = [[NSAttributedString alloc] initWithFileURL:url
                                                                 options:nil
                                                      documentAttributes:NULL
                                                                   error:&error];

答案 1 :(得分:0)

NSCocoaErrorDomain错误代码258为NSFileReadInvalidFileNameError,因此看起来无法找到您传递的文件。