如何从对象获取NSString?

时间:2011-04-10 12:37:29

标签: objective-c regex

我有一些文字字段。例如。这一个

TTMessageField *field = [fields objectAtIndex:0];

NSLog(@"%S", field.description);
NSLog(@"%@", field);

TTMessageField Class Reference.

第二行打印

To: (
    "recipient"
)

和第三个

To: (\n    recipient\n)

我不确定为什么,但描述不会仅返回收件人。它包含在这个To :()就像你在上面看到的那样。

- (NSString*)description {
  return [NSString stringWithFormat:@"%@", _title];
}

是否可以仅提取收件人?像

这样的东西
NSString *str = field.description;

然后使用正则表达式来获取收件人?

3 个答案:

答案 0 :(得分:1)

您是否尝试过使用“描述”之外的其他方法名称?事实上, -description 方法是NSObject的方法,并导致任何对象打印其值。那里可能存在某种压倒一切的干扰,试试其他名称,例如“-descriptionString”。

答案 1 :(得分:0)

我会假设您正在使用Three20。试试这个

TTMessageField *field = [fields objectAtIndex:0];
NSString *myString = [field title];

答案 2 :(得分:0)

我可以将TTMessageField更改为TTMessageRecipientField 扩展 TTMessageField。 TTMessageRecipientField有一个字段收件人,它是一个NSArray并保存收件人的姓名:

TTMessageRecipientField *field = [fields objectAtIndex:0];
NSArray *recipient = [field recipients];
NSString *str = [recipient objectAtIndex:0];