• 2019独角兽企业重金招聘Python工程师标准>>> ...

     


    151951_w33j_2613440.png


    报错原因

    Swift项目中

    OC文件类  继承  Swift文件类


    Cannot subclass a class with objc_subclassing_restricted attribute

     

    不能用objc_子类_限制子类化一个类的属性

    转载于:https://my.oschina.net/codeismygirl/blog/670912

    展开全文
  • iOS OC项目调用Swift类

    2017-03-17 13:51:27
    网上有很多关于OC项目中使用Swift类的方法,但是亲自试了之后,发现不够详细,多次尝试后,终于找出详细的方法。 现把方法和遇到的问题,记录下来,方便其他同仁借鉴.

    网上有很多关于OC项目中使用Swift类的方法,但是亲自试了之后,发现不够详细,多次尝试后,终于找出详细的方法。
    现把方法和遇到的问题,记录下来,方便其他同仁借鉴:

    一、新建一个OC工程,工程名称自定,在这里我定义为OCAndSwiftDemo,如图:

    新建项目架构图

    二、在新建Swift类之前,进行相关设置,如图:

    相关设置

    三、在项目中,新建一个TestDemo的swift类,点击Create后,提示如图:

    创建OC调用Swift类的桥接文件

    选择Create Bridging Header,一定要选择这个,如果不选择,就引入不了Swift类,然后生成”项目名称-Bridging-Header.h”桥接文件

    然后编辑Swift类,如果Swift类想要被OC发现,必须继承自NSObject,如图:

    TestDemo类

    四、调用Swift类,我们想要调用Swift类的方法里面引入头文件:”项目名称-Swift.h”,如图:

    调用Swift类

    注释:如果调用不了Swift类,可以先Shift+Command+R一下。

    展开全文
  • 最近在一个混编项目中,一个OC类需要去访问一个Swift类,访问其他Swift类都可以,但就没法访问报以下错误: 点进去看发现该类型是个结构体,如下所示: 解决方案:因为Swift的结构体除了不能继承外可以有自己的成员变量和...
    • 最近在一个混编项目中,一个OC类需要去访问一个Swift类,访问其他Swift类都可以,但就没法访问报以下错误:
      报错
    • 点进去看发现该类型是个结构体,如下所示:
      在这里插入图片描述在这里插入图片描述
    • 解决方案:因为Swift的结构体除了不能继承外可以有自己的成员变量和方法,就是一个不能继承的类.所以我将struct改成了class,结果还是不行.后来就像因为Swift中的类可以没有父类,而OC的中有基类的,所有类都最终继承至NSObject,所以就将该CTPCarVideoUploadInfoModel也继承NSObject,果然改完后再OC中就可以访问该类型了.改完后如下:
       class CTPCarVideoUploadInfoModel:NSObject{
       }
      
    展开全文
  • 此图可以更好的让你去理解iOS中一些底层的关系. 由它们的底层关系,就能更加容易让我们理解和区别它们之间的关系了!
    此图可以更好的让你去理解iOS中一些底层的关系. 

    由它们的底层关系,就能更加容易让我们理解和区别它们之间的关系了!


    展开全文
  • 上篇讲了Swift中使用OC,Swift中使用OC,这篇讲下OC中使用Swift类。 在OC中需要用到Swift代码的文件中引入#import “XXX-Swift.h”,XXX是你的工程名称。 特别注意 1、被使用的Swift的类必须是至少继承自NSObject...

    Swift中引用OC看这篇
    在OC中需要用到Swift代码的文件中引入#import “XXX-Swift.h”,XXX是你的工程名称。

    特别注意
    1、被使用的Swift的类必须是至少继承自NSObject的,不然OC识别不了这个类。
    2、Swift中的属性和方法,要加上@objc标识,不然识别不了。

    代码如下,Swift中定义了一个类,这个类有一个类属性和一个类方法。

    class UUUU:NSObject {
        @objc static var yyy:String?
        @objc static func test()->(){
            print("XXXX")
        }
    }

    在OC需要用到的地方先引入#import “XXX-Swift.h”,然后就能用了

        UUUU *u  =[UUUU new];
        NSLog(@"%@" , UUUU.yyy);
        [UUUU test];

    Swift中使用类属性和类方法代替宏定义

    另外,在Swift的类中,可以使用只读的类属性和类方法来代替OC中的宏定义,这样定义的宏在OC中直接用,省略了在oc中再定义一次的麻烦。代码如下

    class UUUU:NSObject {
        //只读的类属性
        @objc static var name:String{
            return "jim"
        }
        //类方法
        @objc static func RGBColor(r:Float , g:Float , b:Float) -> UIColor {
            return UIColor.init(red: (CGFloat(r/255.0)), green: (CGFloat(r/255.0)), blue: (CGFloat(r/255.0)), alpha: 1.0)
        }
    }

    另一种Swift代替宏定义的方法是使用全局变量和全局函数来定义,Swift中使用全局变量和函数代替宏

    展开全文
  • OCswift相互调用

    2017-04-26 11:39:33
    一、OC调用swift文件 二、swift调用OC文件 三、注意和总结 添加: 四、自定义桥接文件  一、OC调用swift文件  在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一个桥接文件,点确定...
  • 一、概要 首先看《The Swift Programming Language》中提到“Swift’s compatibility with Objective-C lets you create a project that contains files written in either language. ”
  • swiftOC进行混合编码。
  • OC 调用 Swift 方法

    2018-09-06 11:47:34
    1.新建Swift文件之前做以下设置 2.创建Swift文件后,会提示... 3.Swift import Foundation class RealmManager: NSObject { override init() { super.init() } @objc func getConins() -> Str...
  • 一、OC调用swift文件  在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一个桥接文件,点确定创建桥接文件,Xcode会自动创建一个桥接文件 名字:工程名-Bridging-Header.h 这个桥接文件是 swift...
  • OCswift区别

    2019-04-03 10:07:42
    swift中有oc中没有的 比如 元组 有泛型 3.因为swift 定义的常亮和变量是没有值的,所以引入了可选的概念,这时候 如果swift没有值的话 就用optional 4.在swift 中,let 声明的常量的值不能改变 var 生命的变量的...
  • 之前在开发是遇到了在OC文件中调用Swift对象的变量调用不到的问题,这里总结一下: 1.首先我们一个Swift项目TestProject。 2.建立一个Swift的文件继承自NSObject名字为SwiftFile.swift,并声明一个字符串变量...
  • OCSwift混合使用

    2017-07-11 09:13:02
    随着swift趋向于稳定,越来越多的公司启动的新项目也想使用swift过把瘾,使用swift的好处与弊端不再赘述。目前版本是swift3.0,而且Xcode9beta版中已经更新到swift4.0。使用swift开发是大趋势,这里从以下几个方面看...
  • IOS --- OCSwift混编

    2017-05-16 18:08:38
    先中简单的入手,先研究在同一个工程目录下混合使用的情况。...[cpp] view plaincopy--- OCSwift混编" TITLE="IOS --- OCSwift混编" />--- OCSwift混编" TITLE="IOS --- OCSwift混编" /> impor
  • OCSwift是苹果爸爸的原生语言,Swift代替OC的成本太高,需要过度和时间,但是现在的Swift的成长很快,在这个矛盾的时间,我们必须混编了。 1、创建一个新的工程 ,工程的名字叫OCAndSwiftDemo。 2、配置工程...
  • iOS OC调用Swift

    2019-10-17 17:10:34
    iOS OC调用Swift 需要四步就能完成 第一步 Build Settings->Defines Module 设置为 YES MOdule Name 配置工程名 第二步 把swift 拖入项目,会提示是否创建桥接文件,选择创建 非拖入式,没有提示 手动创建 选择 ...
  • OCswift混编

    2019-02-20 00:38:40
    相信很多iOS开发或多或少已经使用过swift,由于维护的项目时间比较久了,以往都是使用OC开发,现在正在对已有一些功能进行改版重写,索性使用swift来做,以下是在使用OCswift进行混编过程的一些介绍。一、工程配置...
  • 今天在学斯坦福的ios公开课时,使用Demo源码编译报错@IBAction func operate(sender: UIButton) { let operate = sender.currentTitle! switch operate{ case "+":performOprate{ $0 + $1 } ...
  • 关于ocswift混编问题

    2017-01-11 15:06:12
    苹果链接地址 blog 对于自定义的类而言,Objective-C的类,不能继承自Swift的类,即要混编的OC类不能是Swift类的子类。 反过来,需要混编的Swift类可以继承OC的类。
  • 如何新建:一般情况,在Swift工程中新建一个OC类,或者在OC工程新建一个Swift类,系统就会提示你是否创建,选择是就行了,然后再删除你刚刚创建的无用文件。如下图(在OC工程中创建的): 如果你选择了取消,可能下一...
1 2 3 4 5 ... 20
收藏数 4,101
精华内容 1,640
热门标签
关键字:

oc 继承swift类