在我的应用程序中,我有一个页面可以保存联系人的姓名,欠款和手机号码。我有两个部分。一部分是您欠下的人员名单,另一部分是欠您的人员名单。当用户点击某人时,我希望能够自动呼叫用户的手机号码。这是我到目前为止所做的。
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0)
{
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"OwedMoney"];
NSMutableArray *storedCellNumbers = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
NSString *cellNumber = [NSString stringWithFormat:@"%@", [storedCellNumbers valueForKey:@"youOweCellNum"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:cellNumber]];
}
else if (indexPath.section == 1)
{
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *myFetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"TheyOweMoney"];
NSMutableArray *storedCellNums = [[managedObjectContext executeFetchRequest:myFetchRequest error:nil] mutableCopy];
NSString *ThecellNumber = [NSString stringWithFormat:@"%@", [storedCellNums valueForKey:@"theyOweCellNum"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:ThecellNumber]];
}
}
但到目前为止,当用户点击手机时,没有任何事情发生。我不确定发生了什么。我确保细胞编号保存在这里:
NSManagedObjectContext *context = [self managedObjectContext];
OwedMoney *owedMoney = [NSEntityDescription insertNewObjectForEntityForName:@"OwedMoney" inManagedObjectContext:context];
[owedMoney setValue:self.cellNum.text forKey:@"youOweCellNum"];
所有帮助表示赞赏,提前致谢
答案 0 :(得分:0)
确保您已设置表的委托。
如果您在界面构建器中创建了表视图,则可以右键单击它,然后单击从“委托”拖动到要作为表视图的委托的文件。
否则,它就像这样简单:
myTableView.delegate = someDelegateObject;
答案 1 :(得分:0)
确保您的表格视图的委托已设置。
@interface YourTableViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource>
然后设置表视图委托
table.delegate = self;
您可以通过在NSLog
中设置didSelectRowAtIndexPath:
或断点进行仔细检查,看看它是否被调用。