Objective c 以编程方式在iPhone上发送文本时出错,电话号码格式错误?

Objective c 以编程方式在iPhone上发送文本时出错,电话号码格式错误?,objective-c,ios,ios4,Objective C,Ios,Ios4,我在通过编程方式从iPhone发送短信时遇到了一个非常奇怪的问题,下面是我希望我的代码如何工作/显示: MFMessageComposeViewController *textController = [[[MFMessageComposeViewController alloc] init] autorelease]; textController.messageComposeDelegate = self; if([MFMessageComposeViewCo

我在通过编程方式从iPhone发送短信时遇到了一个非常奇怪的问题,下面是我希望我的代码如何工作/显示:

MFMessageComposeViewController *textController = [[[MFMessageComposeViewController alloc] init] autorelease];
        textController.messageComposeDelegate = self;
        if([MFMessageComposeViewController canSendText])
        {
            [textController setBody:[managedObject valueForKey:@"Message"]];
            [textController setRecipients:[NSArray arrayWithObjects:[managedObject valueForKey:@"Number"], nil]];
            [self presentModalViewController:textController animated:YES];
        }
但是,我存储在
[managedObject valueForKey@“Number”]
中的值是在早期从通讯簿中检索到的,具有一些非常奇怪的格式,例如“073-339 53 46”。我知道iOS将电话号码存储为字符串,但不知何故,我不允许发送到以这种方式格式化的号码(我收到一个sigabrt-“
[NSCFString count]:发送到实例0x1204b0的无法识别的选择器
”)

但如果我将数字硬编码为(不带空格和破折号):

它就像一个符咒——但有点违背了从地址簿中检索号码的目的

有什么想法吗

MFMessageComposeViewController *textController = [[MFMessageComposeViewController alloc] init];

textController.messageComposeDelegate = self;

if([MFMessageComposeViewController canSendText])
{
    [textController setBody:[NSString stringWithFormat:@"%@",[managedObject valueForKey:@"Message"]]];
    [textController setRecipients:[NSArray arrayWithObjects:[NSString stringWithFormat:@"%@",[managedObject valueForKey:@"Number"]], nil]];
    [self presentModalViewController:textController animated:YES];

    [textController release];
}

您必须将这些消息和数字转换为NSString。

非常感谢!然而,我觉得这很奇怪,因为我已经将它们作为字符串存储在核心数据中了。。。?你知道为什么要这样做吗?在核心数据中,字符串的存储方式可能不同。如果你想在其他地方使用它们,那么你应该像使用一样简单
MFMessageComposeViewController *textController = [[MFMessageComposeViewController alloc] init];

textController.messageComposeDelegate = self;

if([MFMessageComposeViewController canSendText])
{
    [textController setBody:[NSString stringWithFormat:@"%@",[managedObject valueForKey:@"Message"]]];
    [textController setRecipients:[NSArray arrayWithObjects:[NSString stringWithFormat:@"%@",[managedObject valueForKey:@"Number"]], nil]];
    [self presentModalViewController:textController animated:YES];

    [textController release];
}