iOS初学者:鸣叫计算结果(如何将结果添加到NSString并鸣叫)

最后发布: 2011-12-02 13:34:28


问题

我正在尝试将twitter框架集成到我的应用程序中,以使用户可以选择推特其计算结果。 鸣叫效果很好,但是我无法自动将结果发送到Twitter窗口。

  1. 用户输入高尔夫球场上所需的打洞和击球。
  2. App计算每个孔的平均行程。
  3. 单击推特结果按钮后,将显示推特窗口,该窗口已将计算出的平均值作为推特消息的一部分。

现在,Twitter窗口出现了,但是我只能将静态文本指定为默认文本。

有人可以帮忙吗?

这是我的代码:

计算:(工作正常)

- (IBAction)calculateNow:(id)sender {

    double holes = [[holesTextField text]doubleValue];
    double strokes = [[strokesTextField text]doubleValue];
    double result = strokes / holes;
    [averageTextField setText:[NSString stringWithFormat:@"%.2f", result]];
}

TWITTER :(有效,但窗口不包含计算出的平均值)

- (IBAction)tweetMyAverage:(id)sender {
    if ([TWTweetComposeViewController canSendTweet]) {
        TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc]init];
        [tweetSheet setInitialText:[NSString stringWithFormat:@"My Average is: %@", result]];
        [self presentModalViewController:tweetSheet animated:YES];
    }
}

我认为变量结果(来自计算)在twitter IBAction中未知,但是如何使它可用?

iphone objective-c xcode twitter
回答

@interface部分的.h文件中添加一个变量:

@interface MyClass : UIViewController {

    double result; 

}

@end

然后它将可以在您的.m中以每种方法使用。

从您在calculateNow方法中创建的实例变量中删除double类,以确保在创建单独的变量时不会收到警告。

result = strokes / holes;

另外,请确保将%d用于双打, %@用于字符串。

[tweetSheet setInitialText:[NSString stringWithFormat:@"My Average is: %d", result]];


回答

假设您提供的所有代码都在同一视图控制器中,则可以执行以下操作:

     [tweetSheet setInitialText:[NSString stringWithFormat:@"My Average is: %@",
     averageTextField.text]];