【问题标题】:Too many arguments to method call方法调用的参数太多
【发布时间】:2012-05-01 23:39:30
【问题描述】:

我正在尝试使用我的 appDelegate 中的 NSString 为我的应用程序中的 twitter 消息应该说的内容设置初始文本。在此处查看代码:

    NSString *tweet;
tweet=[MyWebFunction tweet:appDelegate.stadium_id];


if([deviceType hasPrefix:@"5."]){

    // Create the view controller
    TWTweetComposeViewController *twitter = [[TWTweetComposeViewController alloc] init];

    [twitter setInitialText:@"@%",tweet];

问题是,twitter setInitialText 是否有错误,方法调用的参数太多,预期为 1,有 2。?!?!?

非常感谢任何帮助。 :)

【问题讨论】:

    标签: objective-c iphone xcode compiler-errors arguments


    【解决方案1】:

    TWTweetComposeViewController 方法setInitialText 只接受一个参数,类型为NSString*。您不能像使用NSString 方法stringWithFormat 那样简单地格式化传递给方法的任何和所有NSString 变量(我想,您已经看到了[NSString stringWithFormat:@"%@", myString] 的语法)。

    在您的情况下,您只需调用:

    [twitter setInitialText:tweet];
    

    或致电:

    [twitter setInitialText:[NSString stringWithFormat:@"%@", tweet]]
    

    编辑
    我觉得有必要补充一点,以加深您的理解,当声明以... 结尾时,方法只接受可变数量的参数(例如stringWithFormat

    例如,查看 NSString 的文档会发现 stringWithFormat 是这样声明的:

    +(id) stringWithFormat:(NSString *)format, ...;
    

    同样,NSArray 中的arrayWithObjects 声明如下:

    +(id) arrayWithObjects:(id)firstObj, ...;
    

    喜欢哪一个:

    NSString* myString1 = @"foo";
    NSString* myString2 = @"bar";
    NSNumber* myNumber = [NSNumber numberWithInt:42];
    NSArray* myArray = [NSArray arrayWithObjects:myString1, myString2, myNumber, nil];
    

    【讨论】:

      【解决方案2】:

      试试[twitter setInitialText:tweet];

      如果您确实需要格式化文本来处理更复杂的情况,请尝试

      [twitter setInitialText:[NSString stringWithFormat:@"%@", tweet]];

      【讨论】:

        【解决方案3】:
        "[twitter setInitialText:@"@%",tweet];"
        

        你的“@”和“%”是错误的

        [twitter setInitialText:@"**%@**",tweet];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-03
          • 1970-01-01
          • 2013-05-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多