【问题标题】:Making a variable in Void a global one [closed]使 Void 中的变量成为全局变量[关闭]
【发布时间】:2013-09-16 20:47:42
【问题描述】:

我有一个 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 的变量。任何帮助将不胜感激。

【问题讨论】:

    标签: objective-c function sms void


    【解决方案1】:

    如果我正确理解您的代码,您希望在发送正在撰写的消息后立即自动呼叫某人/某事。

    最简单的方法是声明一个实例变量或属性。例如:

    @property (strong) NSString * telephoneNumber;
    

    然后你可以通过以下方式在第一个函数中设置它:

    self.telephoneNumber = number;
    

    并通过第二个函数调用它:

    NSString *urlString = [NSString stringWithFormat:@"telprompt://%@", self.telephoneNumber];
    

    b.t.w.,如果您更好地命名变量和参数,您可能会发现它很有用。一个名为“number”的 NSString 对象可能会让你(或稍后查看你代码的其他人)误以为他们正在查看一个 NSNumber 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-05
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多