ich vor kurzem mit Xcode begonnen haben 7 und bekommen haben, was eine gemeinsame Warnung zu sein scheint:NSTextTab - Korrekte Verwendung von „Optionen“
Null passed to a callee that requires a non-null argument
Ich verstehe, was es sagt mir, aber ich bin nicht sicher, was Die korrekte Lösung ist für mein spezielles Problem. Hier ist die Linie, wo die Warnung auftritt:
NSTextTab *tab = [[NSTextTab alloc]
initWithTextAlignment:NSTextAlignmentLeft
location:10.0f
options:nil];
Nun Blick in Matt Neubergs Beispiel dafür in seiner „Programming iOS 8“ Buch (veröffentlicht auf GitHub), sehe ich folgendes:
let s = "Onions\t$2.34\nPeppers\t$15.2\n"
let mas = NSMutableAttributedString(string:s, attributes:[
// lines omitted...
let terms = NSTextTab.columnTerminatorsForLocale(NSLocale.currentLocale())
let tab = NSTextTab(textAlignment:.Right, location:170, options:[NSTabColumnTerminatorsAttributeName:terms])
// lines omitted
self.tv.attributedText = mas
Was ich sagen kann, ist das Einrichten des Textes, so dass die Dezimalpunkte in den Strings ausgerichtet werden. Groß. Sinnvoll. Nicht was ich brauche. Ich versuche nur einen Tab auf der linken Seite zu haben, der einen bestimmten und konsistenten Eindruck gibt.
zu „reparieren“ mein Code (dh erhält die Warnung verschwinden), ich habe meinen Code dies geändert:
NSTextTab *tab = [[NSTextTab alloc] initWithTextAlignment:NSTextAlignmentLeft location:10.0f options:[NSDictionary dictionary]];
Dies scheint zu arbeiten, aber es fühlt sich an wie eine Super-kludgy Arbeit -um. Ist mein Verständnis von NSTextTab
falsch? Was ist das Recht Weg, um dies zu beheben?
Auch mit dem gleichen Fix. Ich habe Optionsparameter mit anderen Textelementen wie @ {NSFontAttributeName: font, NSParagraphStyleAttributeName: paragraphStyle} verwendet. Hab keine Ahnung was hier enthalten sein soll. –