我有一个void函数,当按下按钮时会得到一个名为number的变量。但是我有另一个功能,我想在那里使用该变量。
这是代码,所以你可以看到我的意思。
-(void)pictureListMainTableCell:(PictureListMainTableCell *)cell wantsToCallNumber:(NSString *)number
{
if([MFMessageComposeViewController canSendText])
{
MFMessageComposeViewController *messageComposer =
[[MFMessageComposeViewController alloc] init];
NSString *message = (@"%@", [self deviceLocation]);
[messageComposer setBody:message];
messageComposer.recipients = [NSArray arrayWithObjects:number , nil];
messageComposer.messageComposeDelegate = self;
[self presentViewController:messageComposer animated:YES completion:nil];
NSLog(@"Texting telephone number [%@]", messageComposer);
}
}
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
switch (result) {
case MessageComposeResultCancelled:
NSLog(@"Cancelled");
break;
case MessageComposeResultFailed:
NSLog(@"Failed");
break;
default:
break;
}
if (MessageComposeResultSent) {
NSString *urlString = [NSString stringWithFormat:@"telprompt://%@", number];
NSLog(@"calling telephone number [%@]", number);
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
}
[self dismissModalViewControllerAnimated:YES];
}
所以我想要的是能够在第二个void中使用名为number的变量。任何帮助将不胜感激。
答案 0 :(得分:0)
如果我正确理解您的代码,您希望在撰写邮件后立即自动调用某人/某事。
最简单的方法是声明实例变量或属性。例如:
@property (strong) NSString * telephoneNumber;
然后你可以通过以下方式在第一个函数中设置它:
self.telephoneNumber = number;
通过第二个函数调用它:
NSString *urlString = [NSString stringWithFormat:@"telprompt://%@", self.telephoneNumber];
b.t.w。,如果您更好地命名变量和参数,您可能会发现它很有用。一个名为" number"的NSString对象可能会让你(或其他人在以后查看你的代码时)误以为他们正在查看NSNumber对象。