Необязательные аргументы в Objective-C 2.0?

То, как вы это сделали, - правильный objc способ сделать это в Objective-C. Он objc широко используется в самом objective-c какао. Например, некоторые objective-c инициализаторы NSString:

– initWithFormat:  
– initWithFormat:arguments:  
– initWithFormat:locale:  
– initWithFormat:locale:arguments:

Причина, по objc которой это работает, заключается objc в том, что : является частью objective-c имени метода, поэтому с точки objective-c зрения компилятора print и print: - это objc совершенно разные сообщения, которые objective-c не более тесно связаны, чем objc "print" и «спринт».

Однако objc конкретные имена методов, которые objective-c вы указали, не очень хороший objc случай для этого, потому objc что из имени неясно, что objective-c это за параметр (или что objc само по себе "print" означает, если objc параметр - это то, что объект objc печатает ). Было бы лучше objective-c иметь, скажем, printFalseMessage и printMessageWithFlag:.

objective-c

2022-10-13T15:33:38+00:00