Video: Objective-C Tutorial - Lesson 5: Part 1: Making Decisions in your Code 2024
Del af Mac Application Development for Dummies Cheat Sheet
Objective-C giver objektorienterede funktioner til Macintosh applikationsudvikling, såsom arv og polymorfisme. Sproget er baseret på C programmeringssprog; Derfor kan du bruge din C programmering viden til at kode inden for Objective-C. Objective-C ++ er en bromekanisme, der tillader Objective-C-kildemoduler at arbejde med Objective-C ++-klasser, som kunne kompilere og forbinde med C ++-kodebiblioteker.
Følgende simple eksempel på en firkantet matrix viser indholdet af en C ++ header-fil til en matrixklasse. Matrix-klassen leveres med standardkonstruktøren og destruktoren til en C ++-klasse, og metoderne er, hvad man ville forvente for et grundlæggende firkantmatrixobjekt:
klasse Matrix {public: Matrix (int inSize); virtuelle ~ matrix (); int getSize (void); int getDeterminant (void); void setElement (int inRow, int inCol, int inValue); int getElement (int inRow, int inCol); Matrix operator + (const Matrix & inAddend); privat: int m_size; int [] [] m_elements;};
For at bruge Objective-C ++ skal dine Objective-C ++-klassemoduler bruge filtypen. mm. Dette fortæller Xcodes kompilator om, at klassen skal kompileres ved hjælp af Objective-C ++, som vil gøre det muligt for din klasse at bruge C ++ sprog søgeord. Ved hjælp af Objective-C ++ kan din app oprette et Matrix-objekt til at udføre grundlæggende operationer, som f.eks. At tilføje to Matrix-objekter sammen. Dette forudsætter, at Objective-C ++-kildemodulet har importeret C ++ Matrix. h fil:
- (void) addTwoMatrices {Matrix matrixOne (3); // 3x3 matrix Matrix matrixTwo (3); // en anden int rowIndex = 0; int colIndex = 0; for (rowIndex = 0; rowIndex <3; ++ rowIndex) {for (colIndex = 0; colIndex <3; ++ colIndex) {// angiv matrixens elementer til deres værdier matrixOne. setElement (rowIndex, colIndex, XXX); // Sæt matrix to elementer til nogle andre værdier matrixTwo. setElement (rowIndex, colIndex, YYY);}} Matrix matrixSum = matrixOne + matrixTwo;
Med Objective-C ++ kan dine apps udnytte alle de tilgængelige tredjeparts biblioteker, der er skrevet til C ++.