Я изучаю Obj-C с момента получения MBP около месяца назад.Мне довольно комфортно с тем, что я изучаю, и вещи довольно хорошо вписываются в мой старый ржавый мозг.За исключением одной вещи, которую я просто не уверен, пропускаю ли я, или просто перебираю себе голову, или я ищу что-то, чего там нет.
Большинство языков, которые я использовал, имеютспособ выделения временных интервалов при вызове встроенной функции, чтобы упростить кодирование, и я просто не уверен, как это преобразуется в Obj-C.Особенно я имею в виду, когда вызываемая функция находится в отдельном файле, для целей кодирования, позволяющего хранить похожие функции вместе.
Пока что единственный способ, который я видел в руководствах и руководствах по Obj-Cсоздать класс с методами, а затем создать экземпляр этого класса (внутри класса, с которым вы работаете), чтобы получить доступ к методу в [message]
.Так ли это в Obj-C?Единственный способ?Лучший способ по какой-то причине?Я знаю, что у классов есть свое место на многих языках, и я использую их сам, но я имею в виду простые маленькие встроенные вызовы функций, где я обычно не берусь за создание полного класса.
Для использованияпростой пример консоли C ++ с моей точки зрения (показаны только файлы .cpp):
// example mainFile.cpp
#include <iostream>
#include "mainFile.h"
#include "functionsFile.h"
using namespace std;
void theMainFunction () {
int resultBeforeAltering = 100;
// alterTheResult() = simple inline function call I'm referring to
cout << "The result is " << alterTheResult(resultBeforeAltering);
}
.
// example functionsFile.cpp - could contain many similar functions
#include "functionsFile.h"
int alterTheResult (int resultToAlter) {
int alteredResult;
if (resultToAlter < 100) {
alteredResult = resultToAlter * 2;
} else {
alteredResult = resultToAlter * 3;
}
return (alteredResult);
}
Существует ли эквивалентный подход для выполнения alterTheResult()
в Obj-C(предполагая, что mainFunction()
был методом Obj-C)?
Я видел ссылки на функции в Obj-C, но они, похоже, являются функциями C, на которые ссылаются.Функции C не то, о чем я здесь спрашиваю.
Заранее спасибо, ответы очень ценятся.