Iphone CTLine Ref为零+;CoreText+;苹果手机

Iphone CTLine Ref为零+;CoreText+;苹果手机,iphone,core-text,Iphone,Core Text,核心文本API的CTFrameGetLines(frameRef)方法面临一个奇怪的问题。我正在使用函数获取帧中存在的所有CTLINE的数组 CFArrayRef lines = CTFrameGetLines( frameRef ); 然后,我使用 linesCount = CFArrayGetCount (lines); 就我而言,LineScont快28岁了。但当我尝试使用 line = (CTLineRef) [(NSArray *)lines objectAtIndex

核心文本API的CTFrameGetLines(frameRef)方法面临一个奇怪的问题。我正在使用函数获取帧中存在的所有CTLINE的数组

CFArrayRef lines =   CTFrameGetLines( frameRef );
然后,我使用

    linesCount = CFArrayGetCount (lines);
就我而言,LineScont快28岁了。但当我尝试使用

line = (CTLineRef) [(NSArray *)lines objectAtIndex:i];
我的电话线是零。我无法计算linesCount的值何时达到28,那么为什么lines数组中第17个索引处的值为零。在索引17处需要存在一些行

请帮我解决这个问题,这真的很紧急

Thanx提前, 当做
tek3

objectAtIndex:不应返回nil,除非接收方为nil。这意味着“行”为空。也许对CTFrameGetLines的调用失败了。但这并不能解释为什么CFArrayGetCount会返回28。它每次返回28次吗?CFArrayGetValueAtIndex返回什么

Andrew

(CTLineRef)CFArrayGetValueAtIndex(行,i)

用这个代替NSArray

行=(CTLineRef)[(NSArray*)行对象索引:i]

让你不再释放绳索