Sono d'accordo che questo è piuttosto confuso quando si inizia. Il motivo principale è che il metodo NSLog, come molti altri in Core Foundation, è un'AP basata su C, piuttosto che un'API Objective-C. Le funzioni in stile C assomigliano a questo myFunction (myParameter1, myParameter2).
Tutta la roba della GUI probabilmente utilizzata per [UIView presentModalViewController:] ecc è basata su un'API Objective-C, con le parentesi quadre che hai visto per le funzioni (chiamate selettori in Obj-C). Il linguaggio Objective-C si trova in cima a C, quindi nella maggior parte delle app troverai entrambi gli stili.
fonte
2012-06-25 13:51:34
Perché la seconda istruzione chiama il metodo 'outputThis: param:' sull'oggetto 'NSLog'. 'NSLog' è solo una funzione nel framework Cocoa. – Eimantas
sì, ma avrebbe potuto essere un metodo di classe per una classe NSLog, come [NSString stringWithString: @ "this is a string"]; ? – tahir
NSLog non "suona" come classe. NSLogger sarebbe stata una scelta migliore per un nome di classe. Ora è solo un'azione. – Eimantas