我想设置为Twitter的消息应该说在使用的NSString从我的appDelegate我的应用的初始文本。 看看这里的代码:
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,有?!?!?
任何帮助是极大的赞赏。 :)
该TWTweetComposeViewController
方法setInitialText
只需要一个参数,是类型NSString*
。 你不能简单地格式化任何和所有NSString
传递给方法的变量,你可以用NSString
方法stringWithFormat
(这是我想,你见过的语法[NSString stringWithFormat:@"%@", myString]
在你的情况,你要么需要简单地调用:
[twitter setInitialText:tweet];
或致电:
[twitter setInitialText:[NSString stringWithFormat:@"%@", tweet]]
编辑
我觉得有必要补充,进一步的理解,一个方法只需要一个可变数量的参数(如stringWithFormat
)时,它的声明结尾...
例如,看在文档的NSString
显示, stringWithFormat
被宣布为:
+(id) stringWithFormat:(NSString *)format, ...;
同样, arrayWithObjects
在NSArray
被宣布为:
+(id) arrayWithObjects:(id)firstObj, ...;
哪一个会使用像:
NSString* myString1 = @"foo";
NSString* myString2 = @"bar";
NSNumber* myNumber = [NSNumber numberWithInt:42];
NSArray* myArray = [NSArray arrayWithObjects:myString1, myString2, myNumber, nil];
尝试[twitter setInitialText:tweet];
如果你确实需要一个更复杂的情况下格式化文本,尝试
[twitter setInitialText:[NSString stringWithFormat:@"%@", tweet]];
"[twitter setInitialText:@"@%",tweet];"
你刚收到你们的“@”和你的“%”以错误的方式应该是
[twitter setInitialText:@"**%@**",tweet];