mam następujący wiersz:szybka obsługa NSData inicjalizacji nie
let jsonResults = NSData(contentsOfURL: Fetcher.URLforLicenseInfo())
To kompiluje i wykonuje dobrze, ale jeśli inicjalizacja NSData nie otrzymuję wyjątek później w kodzie. Próbowałem dodać kolejny wiersz:
if jsonResults != nil { ///blah, blah...
ale wtedy kompilator narzeka "Cannot invoke '!=' with an argument list type '(NSData, NilLiteralConvertible)"
nie powinien kompilator rozpoznać NSData initialiser typ zwracany jako opcja?
Jeśli pierwsza linia zmienia się na 'niech jsonResults: NSData! = NSData (contentsOfURL: ... 'może sprawdzić' if jsonResults! = Nil {... 'i działa poprawnie, gdy NSData() zawodzi Jeśli tak NSData nigdy nie zwraca nil !? – user2041042
ponieważ' NSData() 'jest konstruktorem, nie metoda.Odnosi odwołanie bieżącego obiektu –
Potrafię odróżnić metodę i konstruktora.W moim poprzednim komentarzu, gdy jsonResults == zero, oznacza to, że NSData() zwrócił zero ... – user2041042