简单的NSTextList问题

Dev*_*shi 3 cocoa nstextfield

我试图用来NSTextList在多行显示数字列表,NSTextField但它没有按预期工作.

使用的示例代码是:

- (IBAction)displayResult:(id)sender
{
    NSTextList *list = [[NSTextList alloc] initWithMarkerFormat:self.markerFormat options:1]; // {Decimal} passed as marker format
    NSMutableParagraphStyle *paragraph = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
    [paragraph setTextLists:[NSArray arrayWithObject:list]];
    [list release];
    NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:paragraph, NSParagraphStyleAttributeName, nil];
    NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:self.inputString attributes:attributes] ; // input string is- George \n Thomas \n Ashok
    [self setOutputString:attrString]; 
    [attrString release];
    [paragraph release];
}
Run Code Online (Sandbox Code Playgroud)

输入是 -

George 

Thomas 

Ashok
Run Code Online (Sandbox Code Playgroud)

输出应该是 -

1 George

2 Thomas

3 Ashok
Run Code Online (Sandbox Code Playgroud)

但它显示的输出是 -

George 

Thomas 

Ashok
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议如何实现预期的产量?

Suh*_*hal 6

你正在做的一切看起来很好,华丽地对我:)你的输入字符串有问题试试这个,

NSTextList *list1 = [[NSTextList alloc] initWithMarkerFormat:@"{decimal}" options:0]; // {Decimal} passed as marker format
NSMutableParagraphStyle *paragraph = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
[list1 setStartingItemNumber:1];
[paragraph setTextLists:[NSArray arrayWithObject:list1]];

NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:paragraph, NSParagraphStyleAttributeName, nil];
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"\t%@ Suhas \n \t%@ Devarshi \n \t%@ Rohith\n", [list1 markerForItemNumber:1],[list1 markerForItemNumber:2],[list1 markerForItemNumber:3]] attributes:attributes] ;
 [self.text setStringValue:attrString];//self.text is a NSTextField instance. kindly ignore the compiler warning:)
Run Code Online (Sandbox Code Playgroud)