2013-09-29 42 views
1

我该如何处理这段代码才能从plist中提取电话号码?来自plist的电话iOS

-(IBAction)callPhone:(id)sender { 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:2135554321"]]; 
} 

回答

0

假设你已经包含了一个名为foo.plist到您的项目文件,名为telnum一个字符串属性,下面应该与工作

NSString *filepath = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"plist"]; 
NSDictionary *plistHash = [NSDictionary dictionaryWithContentsOfFile:filepath]; 
NSString *tel = [plistHash objectForKey:@"telnum"]; 

事后你可以调用openURLtel值。

+0

你可以更精细..我有点新的Xcode和无法弄清楚如何从callphone – user2792928

2

您应该添加您的plist到您的项目(如果它正是你束)(例如,如果它是一个字典):

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"clubs" ofType:@"plist"]; 
    telsDictionary = [NSDictionary dictionaryWithContentsOfFile:filePath]; 

例如,你的plist是再次NSDictionary

{ “迈克”, “2135554321”, “Deniel”, “2135554322”, “桑德拉”, “2135554323”}

如果你想打电话Deniel:

-(IBAction)callPhone:(id)sender { 

    NSString* yourActualNumber = [NSString stringWithFormat:@"tel:%@",telsDictionary[@"Deniel"]]; 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:yourActualNumber]]; 
} 
+0

它工作正常,除了每次我做它调用685-5通话时间内拨打电话的行动。有什么想法吗? – user2792928

+0

当然...因为你没有改变方法,决定哪个号码将被呼叫 – incmiko