Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何从对象获取NSString?_Objective C_Regex - Fatal编程技术网

Objective c 如何从对象获取NSString?

Objective c 如何从对象获取NSString?,objective-c,regex,Objective C,Regex,我有一些文本字段。这个 TTMessageField *field = [fields objectAtIndex:0]; NSLog(@"%S", field.description); NSLog(@"%@", field); 第二行打印 To: ( "recipient" ) 第三个呢 To: (\n recipient\n) 我不知道为什么,但是描述并没有只返回收件人。它被这个包装成:(),就像你在上面看到的 - (NSString*)description {

我有一些文本字段。这个

TTMessageField *field = [fields objectAtIndex:0];

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

第二行打印

To: (
    "recipient"
)
第三个呢

To: (\n    recipient\n)
我不知道为什么,但是描述并没有只返回收件人。它被这个包装成:(),就像你在上面看到的

- (NSString*)description {
  return [NSString stringWithFormat:@"%@", _title];
}
是否可以仅提取收件人?差不多

NSString *str = field.description;

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

我假设您使用的是Three20。试试这个

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

您是否尝试过使用“description”以外的其他方法名称?事实上,-description方法是NSObject的方法,可使任何对象打印其值。可能存在某种覆盖干扰,请尝试使用其他名称,例如“-descriptionString”。

我可以将
TTMessageField
更改为
TTMessageRecipientField
,它扩展了TTMessageField。 TTMessageRecipientField有一个字段recipients,它是一个NSArray,包含收件人的名称:

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

是的,我使用three20,但您的示例只打印“To:”descriptionString不存在。我在问题中添加了对该类的引用