苹果开发是用oc还是oc中使用swiftt

oc和swift混合开发注意的问题 - 简书
oc和swift混合开发注意的问题
oc中使用swift
首先,在工程的 Build Settings
中把 Defines Module
然后,把 Product Module Name
设置为项目工程的名字。
最后一步,在你的OC文件中导入 ProjectName-Swift.h
注意:ProjectName-Swift.h 这个文件是系统自己创建的,千万不要手动创建。**
在swift中使用oc
Swift代码引用OC,需依靠 Objective-C bridging header
将相关文件暴露给Swift。
创建 Objective-C bridging header
有两种方法:
1、当你在Swift项目中尝试创建OC文件时,系统会自动帮你创建 Objective-C bridging header
此时除了 .h
文件之外,会额外多出一个叫做 项目工程名-Bridging-Header.h
的文件,这个文件中导入的类是可以暴露给Swift看到的。你要做的,只是#import XXXX
2、自己创建 Objective-C bridging header
File & New & File & (iOS or OS X) & Source & Header File
切记,名字 一定要 是 项目工程名-Bridging-Header
然后还有一步,在项目的 Build Settings
选项里,要确保Swift Compiler
选项里有这个 BridgingHeader
文件的设置,路径必须指向文件本身,而不是目录!
只要斌哥在,世界充满爱.
一、Swift趋势 虽然还处于过渡时期,但趋势很明朗了,Swift 必然会替代 Objective-C,并且比想象中来得快。现在就应该做好准备了。假如之前已经掌握了 Objective-C,切换到 Swift 也不难。Swift 中很多概念在 Objective-C 中已经...
前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛。当然这对新入行的童鞋们来讲,的确算是福音,但对于整个iOS编程从业者来讲,真真是,曾几何时“高大上”,转瞬之间“矮矬穷”。再加上培训班横行,批量批...
混编 混编也无非两种情况, 在Objective - C工程或者文件使用Swift的文件; 在Swift工程或者文件使用Objective - C文件 在混编的过程中最重要的两个文件: 1. 桥接文件: 桥接文件“ProjectName-Bridging-Header.h”...
用到的组件1、通过CocoaPods安装项目名称项目信息AFNetworking网络请求组件FMDB本地数据库组件SDWebImage多个缩略图缓存组件UICKeyChainStore存放用户账号密码组件Reachability监测网络状态DateTools友好化时间MBP...
原文地址 一、Swift使用或者继承Objective-C 在Objective-C项目中第一次建立Swift文件时,Xcode会提示你是否要生成桥接文件:ProjectName-Bridging-Header.h , 当然不小心没有选择生成或者删除之后,手动添加也可以:建...
本文参与#漫步青春#征文活动,作者:马芳然。本人承诺,文章内容为原创,且未在其他平台发布。
谢谢为我停下,喵
我轻踏在墙檐上,没有发出丝毫声响。
我喜欢这样的夜晚,久违的夜晚:没有嘈杂刺耳的鸣笛,没有人来人往的喧吵,唯一美中不足的是:街...
从你家离开的时候,我闻到了烧烤的味道 你家附近有国关,北大,颐和园 我会想着因你相识的那些朋友 有些时来时往,有些永远停留 我前段时间伤了胳膊,意识到自己的笨拙 我在你家看到你的新照片,却还是会浪起来 我想你,不分日夜,也不分光荣和谴责 人们都挺想你的,也就没什么可说 你的...
OK,这还是一篇测试职业发展相关的主题; 软件测试职业并没有想象中那么好混,想要混好,需要学的东西很多; 不仅仅是测试技术、计算机基础、网络基础、语言基础、操作系统、DB等等专业技能方面的东西;还需要掌握很多软技能; 今天老徐就是来跟大家聊聊软技能之一: 嘿,Tester,...
昨夜梦回故乡我走在乡间的小路上行至丛林幽深处似有幽怨之声惊落了斑斑月色和我慌乱的脚步 树林里的树木拼命地摇晃天上的月亮摇落的月光悄悄趴在我的肩上任我走到哪里始终不离不弃 于是内心镇定自若双手一拱向着天边的月亮大步从容朝着家里走去
下篇里,小名讲最后2个为什么,作为总结升华。 为什么说重复发明轮子是可以的? 在看前面文章的时候,很多人可能会问:你为什么总是要我去看你的其他文章呢,我才没时间。而且你写了那么多高深的东西,这和我有什么关系,你是炫耀吗?你干嘛不直接告诉我一个时间管理软件怎么操纵?我也不想成...在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
最好是有教材能一个例子一个例子的教,如果只是学习语言好像还不能很快上手.
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
现在这种问题越来越多,21天学会某某,某某从零开始变高手之类的东西太多。
学东西不能太浮躁啊。
编程零基础?那就先学基础啊,没有基础,走路都不稳,请问怎么跑?
不要觉得学了基础和实际开发没有直接作用。
做个不恰当的类比,编程就像武侠里的元素。
数据结构,算法,编译原理等就像是武人的内功
编程语言就是武功招式,几乎每一们语言都有类似的招式,具体搭配有差别
各种开发框架,库和API就是兵器,每一个兵器都有不同的特点和克敌之法
没有武功的人,也可以玩弄兵器,只要耐心的阅读兵器的使用说明书
掌握了武功招式,能够对付不少敌手
想要修炼高手,最后还得看内功,内功好的人,学其他门派的招式也易如反掌。
回归正题,题主说没基础,当然是内功不足。又想快速开发IOS,就是学会使用兵器。太浮躁结果导致什么都不会。
建议,先学语言,swift 包含很多现代语言的特性,不算难。学会基本的语言,再去github上搜别人的项目模仿,这个过程既会加深基础,也会知道编写一个项目大致的流程。总之是要再实践和试错的过程中成长的。
swift 不一定需要C和OC的基础,当然会更好,尤其是IOS 的api有的还会牵扯一些oc的用法,不用担心这个,静下心来学,等你遇到问题了,再去想办法解决,而不是一开始就先设想出会遇到的问题,无限的纠结中。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
学习swift不需要有c或者oc的基础。就像学开车之前不必要学骑三轮车。有基础只是学的更快。
书的话推荐官方的《swift程序设计语言》,有汉译本。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
关键是动手写。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
有基础更好了 理解起来更加方便和快捷 也更加深刻一些 如果没有
那就是某些第一次接触的东西 可能理解起来不是那么容易 而且可能导致你要去看之前这个东西的概念
so 有更好 没有也不是不能学
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。2017 年, ios 开发的主流语言还是 oc 吗?
· 146 天前 · 4800 次点击
弃坑 RN 了。入坑 swift 还是 oc。区别大吗?
56 回复 &| &直到
11:14:11 +08:00
& &146 天前
小项目用 swift 大项目用 OC
swift 还是不怎么稳定
& &146 天前
OC 容易招人
& &146 天前
国内还是 objc 为主。不过入了 Swift 的坑后就不会想回头写 objc 了
& &146 天前
RN 是什么东东? 皇家海军吗?
& &146 天前
swift 有很多优点(泛型、函数重载和语法糖等),api 也稳定下来了。个人感觉目前唯一的缺点是大项目编译非常慢,而且暂不支持增量编译。
& &146 天前
感觉 Swift 现在最大的缺点是 Xcode
& &146 天前
swift 让人又爱又恨, 写起来确实比 OC 方便, 但是每次新版本就让人头疼. 好在这次 3.2 到 4.0 没什么大问题. 另外 swift 的 App 比 OC 的体积大.
& &146 天前
@ 是的,Royal Navy
英国皇家海军。
& &146 天前
& &146 天前
刚入坑 RN....
& &146 天前
@ 还行的,坚持自己。
& &146 天前
现在大部分的 JD 都还是 OC
& &146 天前 via iPhone
说多了都是泪……
& &146 天前
很多公司的项目确实还在用 OC,毕竟 swift 一直在 beta 版本
& &146 天前
@ 说出你的故事
& &146 天前 via iPhone
我司 iOS 程序员已经默认都是 Swift 了…谁还要写 OC 啊,都是一副看古董的眼光…
& &146 天前
& &146 天前 via iPhone
那个,虽然我不是 ios 程序员。
国内有哪家公司会找不会 oc 的 ios 程序员吗?
& &146 天前
@ 不考虑工作,也不考虑逼格,从最实用的角度出发。
& &146 天前
@ 活抓喵神
swift 现在感觉稳定吗
& &146 天前
OC 直接到了 RN,跳过 swift 了。同时也关注 flutter .
& &146 天前
都 7102 年
swift 还没 stable
& &146 天前
@ 喵神,国内情况不一样吧。维护的项目都是 OC,跟公司提过要不要转 swift。公司不想弄那个。
& &146 天前
写惯 swift 完全不想写 oc
& &146 天前
OC 这种奇葩语言永远不想再用
& &146 天前 via Android
请问为何弃坑 React Native ?
& &146 天前
@ 我觉得挺稳定的啊~核心思想,编码方式其实这几年都没有重大变化。
语法细节具体实现什么的,和其他世间万物一样,无时无刻不在变化嘛~ 而且,代码写出来不就是为了改的么~
& &146 天前
@ 要多争取啊,比起 OC 来,用 Swift 的幸福感还是很强的~
& &146 天前
@ 版本和组件太分散了,花在填坑的时间比较多,意志薄弱,坚持不下去。之前研究过安卓,就是 rn 和 iOS 选一个。
& &146 天前
两个都得会啊
这都是基础
建议模块化的,独立的,基础功能类库用 Swift 写,
页面,业务的,工程,用到第三方库等页面等用 OC
& &146 天前
我是 Swift 刚出来就一直在用,确实坑过。
也写过 Swift 的工程,结果实际上还是需要用到很多第三方 OC 的库,很麻烦。
所以我现在,只要是自己写的模块,独立的,底层的,抽象的全都优先用 Swift, 其他需要应对各种变化,具体的,用 OC
& &146 天前
oc 的项目引入了 swift 模块然后编译很慢,而且稍微改动就要全部重新编译。
& &146 天前
依然还是 OC 主流,没啥好说
& &146 天前
oc,因为要对接 c 库,用 swift 还得 oc 绕一层
& &146 天前
光会 RN 没啥用,自己做点小应用还行,一般的公司不会招这种的,项目中需要用到 OC 和 Swift 的库你这不会还怎么搞,而且很多开源库 bug 不少,拿来用不仅仅是用,还需要你会填坑,所以只会 RN 可能自己觉得只有两样不会,OC 和 swift,到别人眼里估计就是这也不会那也不会
& &146 天前
这几年, 我新学会了 4 门语言, Swift1.2, Swift2.0, Swift3.0, Swift4.0?
& &146 天前 via iPhone
当时是 Swift,公司全部 Swift 项目。
& &146 天前 via iPhone
@ swift 可以直接和 C 交互的
& &146 天前
我在跟着 raywenderlich 和 cs193p 自学,教程都是 swift 的
管他国内公司招人是 OC 还是 swift 呢,我先学了自己搞个 APP 再说
& &146 天前
Swift 菜鸡冒出头说一下,Swift 感觉比 Objective-C 要有趣些。
& &146 天前
&事情正在起变化&
& &146 天前
作为一个新手,自己写的都是用 Swift,OC 很多地方的括号看着就烦
& &146 天前 via iPhone
objc 不被淘汰是有它的理由的 ...
& &146 天前 via Android
确实这样,用 rn 写了一些,总感觉缺东西,与原生相差不是一般的大,
& &146 天前
Swift 不错,无奈 Xcode 太烂
& &146 天前
我记得苹果当初推 swift 不是为了取代 OC
而是为了降低开发者的门槛
毕竟 OC 那语法初次见了都不习惯
& &146 天前
OC 的地位是无法取代的。
以前的众多成熟 oc 代码没有人会无聊到用 swift 重写。swift 尴尬在于
1. 语法门槛高,细节繁琐,反而没有 oc 入门轻松。
2. 无法直接对接 c++,obj-c++笑而不语
3. swift 到今天都无法稳定下来。很多时候直接用 oc 写代码省去很多烦恼。
& &146 天前
@ 试试 AppCode,最新的 eap 版本还不错
& &145 天前
swift 招人不是太大问题,刚好是个门槛。
& &145 天前
@ 培训班大量输出 swift 的哪里门槛了。反倒是不能两者都会的才是问题。
@
swift 也不是降低门槛用的,而是 oc 太老了,一点都不现代。
& &145 天前
感觉 11 区大多数互联网公司要么都是 Swift,要么在迁移至 Swift 的路上, 架构大部分是 MVVM,RxSwift 居多,ReactiveSwift 少一些。
& &145 天前
@ 哈哈哈好的,受教~
& &145 天前 via iPhone
公司一个项目是 oc,去年开始的项目是 swift。虽然从项目体量上 oc 大很多,从 crash log 来看总感觉 swift 更安全一些,从写代码角度来看也是如此,一些 nil 值判断更好一些。
& &145 天前
可以看看我写的文章:使用 Swift 语言编程的优缺点
& &145 天前 via iPhone
@ 据我所知都是需要 Objective c bridge header 重新声明接口才能交互,如果有对象指针转换还要处理好是否让 ARC 接管释放,__retain__bridge 还是__unretain,不知你是如何直接调用的,通过系统命令行?
& &144 天前
& · & 3196 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.0 · 81ms · UTC 03:52 · PVG 11:52 · LAX 20:52 · JFK 23:52? Do have faith in what you're doing.oc和swift混编 - 简书
oc和swift混编
自从苹果2014年发布全新的开源趣味性语言Swift一来,很多开发者都拜倒在它的石榴裙下.其实swift语言的确有他的独特魅力,但是毕竟是一门新语言,发展不够成熟,所以对于ios开发的老鸟们来说,oc和swift混编 就变得尤为重要了!
废话不多说,下面介绍两种比较常用的方法实现oc和swift混编
第一种:在swift的类里面调用oc的类
这个需要一个桥接文件 ,(感觉类似于oc里面的头文件)
首先 新建一个工程
开发语言选择swift
新建一个swift工程
然后创建一个OC的类
创建一个OC的类
在创建的时候会提示出现创建一个桥接文件
E9DE31C6-A6A2-43FB-9945995.png
此时 Swift工程里面就多了个OC的类和一个桥接文件
B715BFF2-A8E1-4BD9-B626-EAB.png
同样的,当你知道这个swift搜索头文件的关系后,就不需要再理会这个-Bridging-Header.h的文件了。完全可以手工建一个并取自己喜欢的名字。如:
3D75A4E2-A475--FB98D13F9A9B.png
然后在桥接文件里面导入OC累的头文件名称
7E1F53A6-79BA-452C-8EE5-D48B9DB52AF6.png
这样 就可以在Swift的文件里面直接使用OC的类了,但是Swift得类里面的语法还是Swift
swift的类里面使用OC的类.png
自此 就实现了Swift的类调用OC的类了!
那么怎么在OC的类调用Swift的文件呢?
我们都知道 在OC里面 引用别的文件内容时
需要导入头文件,但是swift的类并没有头文件,那怎么办呢?其实,每个swift的类都有头文件 我们可以在这儿查看到.
38C3E6DD-5DFC-4D9E-F4E41FE.png
然后我们只需要在OC的类的.m文件里面导入 "工程名"加上 -swift.h (固定格式) 就可以在OC的类里面是有Swift的累了 而且还是使用OC语法!
在OC的类引用Swift的类
最后推荐一个技术交流群,里面大神很多!
途有境而观无垠.
前言: Swift语言出来后,可能新的项目直接使用Swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,或者有一些第三方使用OC写的,没有swift版本,怎么办?那就使用混编。这个在IOS8后是允许的. 先简单的...
用到的组件1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SDWebImage多个缩略图缓存组件 UICKeyChainStore存放用户账号密码组件 Reachability监测网络状态 DateTools友好...
swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,哪就使用混编。这个在IOS8中是允许的。先中简单的入手,先研究在同一个工程目录下混合使用的情况。为了演示。先准备两...
用到的组件1、通过CocoaPods安装项目名称项目信息AFNetworking网络请求组件FMDB本地数据库组件SDWebImage多个缩略图缓存组件UICKeyChainStore存放用户账号密码组件Reachability监测网络状态DateTools友好化时间MBP...
发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注
09:45字数 61697阅读 3316评论 2喜欢 85 用到的组件 1、通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FM...
一把年纪了,越来越难喜欢一个人。 在茫茫人海中相遇,确实是一种缘份,但缘份也不一定是好事,伊甸湖里那对情侣遇到的那些孩子就叫孽缘。 我把和他的相遇是当作良缘的,陆陆续续地约会几次,每次我都盛装打扮。我还挺认真的。 射手座爱自由,我不信星座但恰好符合这条标签,逼紧了会逃,经常...
西方节日 Chapter Three: Guy Fawkes' NightThe fifth of November is Guy Fawkes' Night or Bonfire Night. This is a British festivity.The story o...
0926 阴 周二 北京 Day125 已经一个多月,五个周就这么过来了。日子被大大小小数不清的生活事件分割成碎片,星星点点分布在生命中的银河系。 这个月被头疼袭击,少有的状况,感觉脑壳中有股气想要破土而出却无路可逃,就这样前面被阻隔的能量与后面源源不断产生的能量相互撞击,...
最近,很迷茫。不知道自己真正想要什么,可以做些什么。精神总处于疲惫的状态,以致于经常夜里醒来就无法再次入睡,眨巴着眼睛望着窗外的路灯等待着天亮。路灯闪烁,思绪总是隔三岔五的回到读书时期。
那时候的我们,青春年少,追剧听歌耍贫嘴。追着《三重门》,评着《梦里...
这是我的第一篇原创设计文,虽然设计星空的教程不少而且大同小异,不过我亲身探索的经历,想必应该会为这篇文章添彩。文章将分为灵感篇(故事)和创作篇(教程),两个篇章都会比较独立,所以直接阅读创作篇也是可以,但创作不是凭空搭建起来的,所以希望时间充裕的读者能耐心地体会我的创作过程...

我要回帖

更多关于 oc调用swift方法 的文章

 

随机推荐