Объявление метода представляет собой определяющую открытую инструкцию, указывающую имя метода, тип данных возвращаемого значения и типы данных каждого из его параметров.

Например, документация Apple о классе состоит главным образом из списка объявлений его методов. Таким образом, важно уметь читать объявления методов.

Объявление метода состоит из трех частей-

• Знак + или -, означающий, что метод представляет собой метод класса или мл экземпляра соответственно.

• Тип данных возвращаемого значения в скобках.

• Имя метода, разбитое после каждого двоеточия. За каждым двоеточием следует соответствующий параметр, выраженный как тип данных параметра в скобках, за которым следует имя заполнителя для параметра.

Так, например, документация Apple гласит, что объявление метода colorWithRed: green:blue: alpha: класса UlColor имеет вид

+ (UlColor*) colorWithRed:              (CGFloat) red green:          (CGFloat)               green
blue: (CGFloat) blue alpha: (CGFloat) alpha

(Обратите внимание, что я разделил объявление на две строки, для удобочитаемости и чтобы поместить его на листе книги. В документации это объявление расположено на одной строке.)

 

Полезное сокращение

Не редкость, когда за пределами кода, ссылаясь на метод, перед его именем указывают знак + или чтобы было ясно, является ли этот метод методом класса или методом экземпляра. Полуофициальное сокращение представляет собой знак + или после чего идут квадратные скобки, содержащие имя класса и имя метода. Например, в примечаниях к выпуску iOS 7 сказано, что в iOS 7 добавлен следующий метод, отсутствовавший в iOS 6:

- [NSScanner scanUnsignedLongLong:]

Это не вызов метода и не объявление. Это вообще не код Objective-C. Это просто метод сокращенного описания метода, указывающий, что это метод экземпляра класса NSScanner с именем scanUnsignedLongLong:.

 

Убедитесь, что вы можете прочитать и понять это объявление! Вы должны уметь посмотреть на него и мгновенно сказать себе: “имя метода — colorWithRed: green:blue: alpha:. Это метод класса, который принимает четыре параметра типа CGFloat и возвращает UlColor”.

 

Пробел после каждого двоеточия в объявлении или вызове метода является необязательным. Пробел перед двоеточием также является корректным, хотя £ на практике редко применяется. Пробел до или после любой из круглых скобок в объявлении метода также является необязательным.


 

 

 

Добавить комментарий


Защитный код
Обновить