2016-06-23 9 views
0

Gibt es eine Möglichkeit, dass eine Objective-C-Methode mit primitiven Parametern arbeiten könnte, ohne deren Typen zu kennen?Objective-C entspricht Swifts "Any"

int a = [self returnFirst:500 notSecond:1000]; 
char b = [self returnFirst:'a' notSecond:'b']; 
+0

Nein. Nein. Nichts. – OrangeDog

+1

Sie können 'ID' verwenden, wenn Sie nur für Objekttypen sorgen. Das wird jedoch nicht für Primitive funktionieren. –

+0

Objective-C hat 'id', aber es funktioniert nur für Objekte. Sie könnten ein 'NSNumber'-Wrapper-Objekt verwenden, eine 'ID' zurückgeben, es als' NSNummer' verwenden und dann den Wert daraus abrufen. – Palle

Antwort

0

Es gibt kein Äquivalent zu Any in Objective-C: Zum Beispiel

-(Any)returnFirst:(Any)first notSecond:(Any)second { 
    return first; 
} 

Dies könnte dann wie verwendet werden. Ihr Beispiel returnFirst:notSecond: kann nicht einmal in Objective-C deklariert werden.