swift 和 OC 混合编译的问题

最近在学习swift,很想在之前OC的项目中使用swift

开始的时候,上手还算比较快,下面记录下简单的一些坑。

1.由于接触的swfit一些教程,所以准备在已有的OC里面使用swift,按照教程,没问题,但是我在原来的OC中使用swift,怎么也编译不通过,

开始的时候报错,提示找不到各种类,后来仔细发现,原来不可以在同一个项目中即在oc代码中使用swfit代码,并且在swift代码中使用OC,类似于死循环的感觉

需要先编译出项目名-swift.h才可以。

2.原来的OC在转化方法的时候,主要类型是否需要加!,不然也经常报错

3.在用swift使用xib的时候,总会莫名奇妙的 nsscanner nil 错误,目前还未找到原因,而且在使用scrollview的时候更多。暂时记录后续再找原因

时间: 2024-11-05 12:25:12

swift 和 OC 混合编译的问题的相关文章

在Xcode下OC和C++混合编译出现的问题总结

简单的说下最近一次遇到了混编中的问题,算是自己的总结吧,还望能够帮助到打家. 当项目中OC和C++要混合编译的时候,特别是在两种语言字一个文件中相互调用的时候,千万一定不要忘记把编译器的Compile Sources As选项改为Objective C++,因为默认的选择项是According to file type.不然就会报错,而且报的错怪的很,当时搞的头都大了.

Swift和Objective-C混合编程——Swift调用OC

在iOS应用的开发中,Swift必将取代OC,两者的趋势是"短期共存,长期取代".但以前有太多的代码是用OC语言完成的,而Swift的开发也从 OC中继承了很多的特性,两者也是有很多的类似之处.目前Swift和OC可以实现无缝的混合编程. 我这里会实现一个简单的Swift调用OC的iOS实例,实现过程是十分的简单的.就像我们所有的Hello World一样.具体操作步骤如下: (1)Xcode中新建一个iOS项目,语言选择Swift,设备选择iPhone.目录结构如下: (2)然后在该

Swift和Objective-C混合编程——OC调用Swift

既然讲的是Swift和OC的混合编程,我的上一篇博客<Swift和Objective-C混合编程--Swift调用OC>讲的是如何在一个Swift项目中调用OC代码,现在我们要实现在OC项目中调用Swift代码,也是非常的方便.具体实现步骤如下: (1)创建一个iOS项目,语言选择OC,设备选择iPhone. (2)然后在项目中右键,New Files,选择Cocoa Touch Class,然后语言选择Swift.继承自NSObject.新建,会有一个对话框,选择Yes即可. . (3)此时

Swift、OC、C++混合编程

OC调用C++: 1.创建oc工程: 2.主要步骤:将某个.m文件后缀改为.mm, 3.创建c++文件 #ifndef __Test__CPPHello__ #define __Test__CPPHello__ #include <stdio.h> class CPPHello { public: static void hello(); }; #endif /* defined(__Test__CPPHello__) */ CPPHello.h 1 void CPPHello::hello(

Swift和OC混编

swift 语言出来后,可能新的项目直接使用swift来开发.但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块.不想再在swift 中再写一次,哪就使用混编. 这个在IOS8中是同意的. 先中简单的入手,先研究在同一个project文件夹下混合使用的情况. 为了演示.先准备两个类 第一个是swift语言写的类,文件名称为 act.swift 1.    import Foundation 2. 3.    class Act : NSObject 4.    { 5.      

iOS开发--混编篇&amp;swift与OC混合使用

Swift与OC混合使用 swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,哪就使用混编.这个在IOS8中是允许的. 先中简单的入手,先研究在同一个工程目录下混合使用的情况. 为了演示.先准备两个类 第一个是swift语言写的类,文件名为 act.swift [cpp] view plaincopy import Foundation class Act : NSObject { fun

Swift和C混合Socket编程实现简单的ping命令

这个是用Mac下的Network Utility工具实现ping命令,用Wireshark抓取的ICMP数据包: 发送ICMP数据包内容 接受ICMP数据包内容 一.icmp结构 要真正了解ping命令实现原理,就要了解ping命令所使用到的TCP/IP协议.ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.ICMP协议是IP层的 一个协议,但是由于差错报告在发送给报文源发方时可能

在项目里交叉使用Swift和OC

Swift and Objective-C in the Same Project 在项目里交叉使用Swift和OC Swift与OC的兼容性使得你可以在项目里使用Swift+OC的方式编写应用程序,称为混合+匹配(mix and match),用这种方式可以一边使用享受新语言的快速特性,一边无缝的接合你已有的OC代码(原文听起来好NB的样子,其实也就那么回事),不管项目最初是用OC编写的还是新建的Swift项目,都可以在这个项目里用OC和Swift混合继续开发 Importing Object

在项目里交叉使用Swift和OC【转】

Swift and Objective-C in the Same Project在项目里交叉使用Swift和OC Swift与OC的兼容性使得你可以在项目里使用Swift+OC的方式编写应用程序,称为混合+匹配(mix and match),用这种方式可以一边使用享受新语言的快速特性,一边无缝的接合你已有的OC代码(原文听起来好NB的样子,其实也就那么回事),不管项目最初是用OC编写的还是新建的Swift项目,都可以在这个项目里用OC和Swift混合继续开发 Importing Objecti