Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 目标C与Swift_Ios_Objective C_Swift - Fatal编程技术网

Ios 目标C与Swift

Ios 目标C与Swift,ios,objective-c,swift,Ios,Objective C,Swift,我对Objective-C类有问题。我通常与Swift合作,但在我的工作中,我从事的是Objective-C项目。我想在单个项目中结合Swift类和Objective-C代码库 在Swift中,我以这种方式创建了一个类: @objc class MyView: UIView { init(frame: CGRect, title: String, color: UIColor) { super.init(frame: frame) ... } }

我对Objective-C类有问题。我通常与Swift合作,但在我的工作中,我从事的是Objective-C项目。我想在单个项目中结合Swift类和Objective-C代码库

在Swift中,我以这种方式创建了一个类:

@objc class MyView: UIView {
    init(frame: CGRect, title: String, color: UIColor) {
        super.init(frame: frame)
        ...
    }
}
我称之为:

view = MyView(frame:frame, title:@"title",color:redColor)
但在Objective-C中,我可以用以下方式来称呼它:

MyView *view = [[MyView alloc] initWithFrame:(CGRect)];
我无法设置
标题
颜色
参数。 如何设置参数?

您是否在
.m
文件中导入了
模块名Swift.h“
(其中
模块名应替换为模块名)?如果你不这样做,它将无法从Objective-C中找到快速方法

当我这样做时,
MyView
的自定义
init
方法现在可以通过Objective-C访问:

MyView *myView = [[MyView alloc] initWithFrame:frame title:@"title" color:[UIColor lightGrayColor]];

请参阅。

该objective-C语句无效。您缺少了使您的类甚至可以访问objective-c的
@objc
。那么你到底在问什么呢?我的代码中有这个,但是在
[[MyView alloc]initWithFrame:(CGRect)]中的
(CGRect)
是什么?发布您的实际代码。lu2302告诉您代码有什么问题,但却被告知这实际上不是您的代码。令人沮丧+令人不快。默认情况下,参数为帧