swift 如何在Objective C++中创建Model类?

yb3bgrhw  于 2023-05-21  发布在  Swift
关注(0)|答案(2)|浏览(105)

我想在目标c++中创建Model类,其中包含Name和Email ID。就像我们在Swift 3 ex中所做的一样:

import UIKit

class modelDemo: NSObject {

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

我们正在访问modelDemo,如ex:-

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

我们可以在Objective C++中实现同样的事情吗?

toiithl6

toiithl61#

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

@implementation ModelDemo
@end

...

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

jrcvhitl2#

你的问题很不清楚,但我想我可能有一个主意。你是否在问是否可以创建一个C++类,它是一个ObjC类的子类
Swift不是C++,尽管Swift类在源代码中看起来非常类似于C类,但它在内部更类似于ObjC类。这就是为什么你可以创建一个Swift类作为ObjC类的子类。
但这在C
中不起作用。使用ObjC所能做的就是创建一个包含C类作为其示例变量之一的ObjC类,或者一个包含ObjC类的C类。如果你这样做,你可以编写代码来响应消息并将其转发到C类等,但是没有办法使用C或相反的方式来子类化ObjC类。
另外,你应该仔细阅读文件和类之间的区别。一个文件可以包含0个或多个类。ObjC文件可以包含ObjC类,C
文件可以包含C类。ObjC文件可以包含ObjC类和/或C类。
你必须选择你需要的东西。你用这个做什么,为什么?没有ObjC
类这样的东西。为什么要使用ObjC++?为什么不单独使用ObjC或C++?帮助我们了解您具体案例中的需求背后的原因,我们可以为您提供有用的答案。

相关问题