Ich erstelle eine App, die jeden Tag ein anderes Angebot generiert. Ich wollte dem Benutzer die Möglichkeit geben, teilen mit Twitter das Zitat, das gegeben wurde. Ich konnte Twittern mit der Tweet Box erscheinen lassen, aber das Zitat wurde nicht angezeigt. Ich habe versucht, dass zu bekommen passieren und jetzt bekomme ich einen konstanten Fehler:Fehlendes Argument für Parameter # 1 in Anruf // Twitter
Missing argument for parameter for parameter #1 in call
Problem: Ich mag würde in der Lage sein das Angebot erhalten den Tweet-Box zu füllen, wie es nach dem Benutzer erscheint tippt der twitter-Taste
Hier ein Screenshot mit dem Fehler ist
Hier ist der Code:
@IBAction func shareTweet(sender: AnyObject) {
if SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter) {
Share(text:Quote).shareTwitter().characters.count{ sheet in self.presentViewController(sheet, animated: true, completion: nil)};
let tweetShare:SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeTwitter)
self.presentViewController(tweetShare, animated: true, completion: nil)
} else {
let alert = UIAlertController(title: "Accounts", message: "Please login to a Twitter account to tweet.", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
}
}
Hier ist die share.swift Klasse:
import Social
struct Share {
let text: String
init(text: String) {
self.text = text
}
typealias ShareSheet = SLComposeViewController
func shareTwitter(count: Int, action: (ShareSheet ->()), error: (UIAlertController ->())) { // Returns either tweetSheet or alert view
if (count < 140) {
if (SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter)) {
// Tweets Quote
let sheet: SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeTwitter)
sheet.setInitialText(text)
action(sheet)
} else {
// Not logged into Twitter
let alert = UIAlertController(title: "Accounts", message: "Please login to a Twitter account to share", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default, handler: nil))
error(alert)
}
} else {
// Character Count is greater then 140
let alert = UIAlertController(title: "Character Count", message: "Sorry this is too long to tweet", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default, handler: nil))
error(alert)
}
}
Hilfe würde sehr geschätzt werden. Vielen Dank im Voraus. Wenn Sie weitere Referenzen benötigen, um zu antworten, kommentieren Sie, was ich zur Frage hinzufügen soll. Vielen Dank.
Sorry, Ich habe es nur in –
Okay, denke ich. Ich verstehe die volle Absicht dessen, was du jetzt versuchst zu tun. Meine Antwort wurde überarbeitet und sollte Ihr Problem mehr als nur beheben. – AnthonyM
Vielen Dank für die Lösung und Erklärung. Der Fehler wurde sofort behoben. Du bist unglaublich! Bleib großartig! –