1

我在 iOS/Objective C 中进行编码,并且我有一个填充表格视图的实例,当点击一行时,将加载详细视图控制器。在 didSelectRowAtIndexPath 方法中,我设置了将传递给详细视图控制器以及该视图控制器的视图的参数。

代码:

 newsArticleText = [[newsArray objectAtIndex:indexPath.row] objectForKey:@"article"];

在 prepareForSegue 方法中:

NewsDetailController *newsDetailController = [segue destinationViewController];

newsDetailController.articleText = newsArticleText;

在详细 ViewController 的头文件中:

@interface NewsDetailController : UIViewController {

NSString *articleText;

}

@property (nonatomic,copy) NSString *articleText;

在详细 ViewController 的实现文件中,我们设置参数的值:

(NewsView*)self.view).nArticleText = articleText;

最后在其父视图是详细视图控制器的视图中:

    NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString: nArticleText];


    CFAttributedStringSetAttribute((__bridge CFMutableAttributedStringRef) attrString, CFRangeMake(0, attrString.length), kCTFontAttributeName, font);

    /* Get a framesetter to draw the actual text */
   CTFramesetterRef fs = CTFramesetterCreateWithAttributedString((__bridge  CFAttributedStringRef) attrString);
   CTFrameRef frame = CTFramesetterCreateFrame(fs, CFRangeMake(0, attrString.length), pathToRenderIn, NULL);

数据源是一个 JSON 数组。在执行加载详细视图控制器和自定义视图的 segue 之后,仅显示第一条记录/对象。如果我们返回表格视图并选择第二条或第三条记录,则保存该值的变量在控制台中打印时具有正确的值,但屏幕上什么也看不到。

请大侠指教!-TU

4

0 回答 0