2017-02-20 2 views
2

Я хочу создать класс модели в объекте C++, который содержит имя & Идентификатор электронной почты. Как что мы делаем в Swift 3 ех: -Как создать класс модели в Objective C++?

import UIKit 

class modelDemo: NSObject { 

    var name : String = "" 
    var emailId : String = "" 
} 

& мы доступ к modelDemo как экс: -

let modelVar : [modelDemo] = [] 
    // after inserting values in Model 
    print("first object is \(modelvar[0].name)") 

Можем ли мы реализовать ту же самую вещь в Objective C++?

+2

С Objective-C++ вы можете создать либо класс Objective-C, либо класс C++. Какой из них вы хотите создать? – Sulthan

+0

Объективный класс C++ с расширением .mm – Jack

+3

Нет класса Obj-C++. Obj-C++ - это комбинация Obj-C и C++. Вы можете создать либо класс Obj-C, либо класс C++. Однако класс C++ не может наследовать от 'NSObject'. – Sulthan

ответ

-1
@interface ModelDemo: NSObject 
@property (noatomic, copy) NSString* name; 
@property (noatomic, copy) NSString* emailId; 
@end 

@implementation ModelDemo 
@end 

...

ModelDemo* model = [ModelDemo new]; 
model.name = "Hello" 
NSArray<ModelDemo*> *array = @[model]; 
NSLog(@"Name: %@",array[0].name); 
0

Ваш вопрос очень неясно, но я думаю, что, возможно, есть идея. Вы спрашиваете, можно ли создать класс C++, который является подклассом класса ObjC? Можно ли создать ?

Swift не является C++, хотя класс Swift в исходном коде очень похож на класс C++, но он больше похож на класс ObjC. Вот почему вы можете создать класс Swift, который является подклассом класса ObjC.

Это не сработает с C++. Все, что вы можете сделать с ObjC++, - это создать класс ObjC, который содержит класс C++ в качестве одной из его переменных экземпляра, или класс C++, который содержит класс ObjC. Если вы это сделаете, вы можете написать код, который реагирует на сообщение и пересылает его в класс C++ и т. Д., Но нет способа подклассифицировать класс ObjC с использованием C++ или наоборот.

Также вы должны прочитать разницу между файлами и классами. Файл может содержать 0 или более классов. Файл ObjC может содержать классы ObjC, файл C++ может содержать классы C++. Файл ObjC++ может содержать классы ObjC и/или классы C++.

Вы должны выбрать, что вам нужно. Для чего вы это используете и почему? Нет такой вещи, как класс ObjC++. Почему вы хотите использовать ObjC++? Почему бы просто не пойти с ObjC или C++? Помогите нам понять причину этой потребности в вашем конкретном случае, и мы можем дать вам полезные ответы.

Смежные вопросы