Objective C dilinde, çağıran fonksiyon ile çağrılan fonksiyon arasındaki veri değişimi ya da paylaşımı iki farklı teknikten biri ile gerçekleştirilir. Bunlar;
- DEĞER İLE ÇAĞIRMA (CALL BY VALUE)
- REFERANS İLE ÇAĞIRMA (CALL BY REFERENCE)
Değer ile çağırma tekniğinde, çağıran programdaki argümanlar içindeki değerler, çağrılan fonksiyon içindeki değerlere aktarılır. Çağrılan fonksiyonun parametreleri için fonksiyon içinde gerçekleştirilen değişiklikler, bu parametrelere karşı gelen çağıran program argümanlarını etkilemez. Fonksiyon, return deyimiyle çağıran programa geri döndüğünde, parametre değerleri bellekten silinir.
Referans ile çağırma tekniğindeyse çağıran program, argüman olarak bir değer yerine bu değere ait bellek adresini (gösterge ile) gönderir. Bu durumda, argüman ile buna karşı gelen fonksiyon parametresi aynı bellek alanını kullanır. Bunun doğal sonucu olarak alt programda, bu şekilde kullanılan bir parametredeki değişiklik buna karşı gelen çağıran program argümanına aynen aktarılır. Sonraki başlıklarda bu tekniklerin her birine örneklerle ayrıntılı olarak yer veriyoruz.