iOS oc和swift中协议的使用】的更多相关文章

创建一个空的工程 在工程中我们新建一个类 继承与NSObject 定义一个协议‘ @protocol UpdateAlertDelegate <NSObject> //这里的红色字体就是我们定义的协议的名称 - (void)updateAlert;//这个就是如果某个类要遵循此协议必须实现的一个方法,有参数或者无参数视情况而定 @end @interface TimerControl : NSObject @property (nonatomic, weak) id<UpdateAler…
swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,哪就使用混编.这个在IOS8中是允许的. 先中简单的入手,先研究在同一个工程目录下混合使用的情况. 为了演示.先准备两个类 第一个是swift语言写的类,文件名为 act.swift   [cpp] view plaincopy在CODE上查看代码片派生到我的代码片 import Foundation    class Act : NSO…
群里大神发的网址,感觉有用就先收录了,暂时没时间看SWIFT,感觉代码简洁,但是可阅读性不是太高,有些代码让系统去判断类型,同样的,我们看代码的时候也得自己去判断类型,或许看多就习惯了,有时间再说吧,swift一时半会儿也没法写进程序里   作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/34440159 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢! sw…
本文章将从两个方向分别介绍 OC 与 swift 混编 1. 第一个方向从 swift工程 中引入 oc类 1. 1 如何在swift的类中使用oc类    1.2  如何在swift中实现oc的代理方法    1.3   如何在swift中实现oc的Block回调 2 二个方向从OC工程中引入swift类 2.1  如何在OC类中使用swift类    2.2   如何在OC中实现swift的代理方法    2.3   如何在OC中实现swift中类似Block回调 下面是具体的实现过程: 1…
前言 首先所有的Model还是使用oc来写——看到这一句是不是想关网页了- - #,在swift里面直接写一直报错所以就将就用oc来写了,这里主要是分享一下搭配Alamofire使用的经验. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 这里不讨论JSONModel和Alamofire这两个项目,直接上代码 BaseModel.h  ) }                 …
Swift中页面跳转与传值: 1.简单方式 首先,Swift的跳转可分为利用xib文件跳转与storyboard跳转两种方法,我这里选择使用storyboard的界面跳转方法. 1.通过在storyboard中拉button控件建立segue跳转. 2.通过presentViewController方法进行界面跳转. 这里需要注意presentViewController方法适用于xib与storyboard两种方法,但是当使用storyboard直接调用该方法时,ios模拟器会转入一个黑屏界面…
1.oc 调用swift /*oc调用swift, project name为DeomOC: 1.oc工程DemoOC中显式创建一个swift文件,生成DemoOC-Bridging-Header.h 2.#import "DemoOC-Swift.h" https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html */ #imp…
有时候 ,我们会涉及到双向混合编程,特别是OC和swift的互相引用. swift调用oc的方法: 1.桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改名,直接默认即可) 2.将需要引用的oc文件 .h头文件 添加到桥接类中. 如下: 然后在swift调用处,直接就可以使用了. oc调用swift的方法: 1.首先设置一下Packing 进入TARGETS ->Build Settings -> Packaging 中 设置Defines Module为YES 设置…
前言 在 Swift 语言中,我们可以使用 Objective-C.C 语言编写代码,我们可以导入任意用 Objective-C 写的 Cocoa 平台框架.Objective-C 框架或 C 类库. 1.在 Swift 中使用 Objective-C.C 代码 1.1 在 Swift 项目中使用 Objective-C.C 代码 1> 在 Swift 项目中创建 OC/C 的 .h 和 .m / .c 文件,文件中的格式为其本有的格式. 2> Xcode 提示是否创建 Objective-C…
在swift中打开分享功能原来是如此的简单. 1.首先须要 import Social 2.在分享button事件以下 var controller:SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeSinaWeibo) controller.setInitialText("一起来swift吧!") controller.addImage(UIImage(named: "…
小哥("我"的自称)个人混编的时候喜欢先创建OC项目,然后在项目中创建swift类.这样有个好处就是桥文件可以自动创建的同事路径不需要我手动去写了,另外还有个目的就是现在小哥自我感觉很多第三方的东西用swift写的不太好找,功能上我还相信用OC写的所以小哥一开始喜欢用OC建项目.(如果你不懂什么是桥文件稍后就知道了).这只是小哥自己的开发习惯和看法. 我新建了一个演示的OC工程,当然你可以使用你已经存在的OC的工程.如果我们想要在OC工程中使用Swift的代码,修改下面的配置:  上面…
如股票oc要调用swift里面的代码 需要包含固定这个头文件 项目名称 LiqunSwiftDemo-Swift.h #ProjectName#-Swift.h 固定的写法 swift 目的 是取代oc 但是 不会完全取代 只是前端的替换 LiqunSwiftDemo-Swift 点进去 可以看到 所有的swift代码 都产生了 对应的一个 oc的类 也就是 编译过程中 swift 先转换成 oc代码 再由oc代码转换成 c代码 (swift 在oc 之上 编译器前端的语法的转换 不涉及到编译器…
iOS8新特性IBDesignable/IBInspectable,可以直接在XIB或者Storyboard中直接,设置UI类的属性.例 如:UIView.layer.borderWidth.borderColor.cornerRadius这些属性在XIB上是不能直接设置的,但是 IBDesignable/IBInspectable,利用运行时机制,就可以把这些属性映射到XIB上了,同时我们UI类的自定义属性也可以映射上 去.关于过多的解释我就不多说了可以看看Nate Cook撰写的. 以UIV…
作者 sundays http://www.cnblogs.com/sundaysgarden/ OC中UITabbar的适配[iphoneX和Ipad适配] 自定可以UITabar 自定义UITabar头文件 #import <UIKit/UIKit.h> @interface MCTabBar : UITabBar @property (nonatomic, strong) UIButton *centerBtn; //中间按钮 @end 自定义UITabar m文件 #import &q…
本文转自http://www.helloswift.com.cn/swiftbase/2015/0112/3469.html iOS OC和Swift混编 1.创建一个swift或者oc的工程:我这里是创建的Swift语言的工程,工程名SwiftTest  2.在工程中代码目录下创建一个oc的类,选择oc语言, 会出一个对话框,选择YES          3.这时会在工程里看到下图这样一个头文件           4.在这个头文件里添加你的OC文件的.h文件,就可以在任意swift文件中自行…
群里大神发的网址,感觉有用就先收录了,暂时没时间看SWIFT,感觉代码简洁,但是可阅读性不是太高,有些代码让系统去判断类型,同样的,我们看代码的时候也得自己去判断类型,或许看多就习惯了,有时间再说吧,swift一时半会儿也没法写进程序里  原文地址:http://blog.csdn.net/fengsh998/article/details/34440159   swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再…
笔者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/34440159 转载请注明出处 假设认为文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢! swift 语言出来后,可能新的项目直接使用swift来开发.但可能在过程中会遇到一些情况.某些已用OC写好的类或封装好的模块.不想再在swift 中再写一次.哪就使用混编.这个在IOS8中是同意的. 先中简单的入手,先研究在同一个project…
1. Swift与oc混编译具体怎么实现,这儿我就不重复讲出了,网上有大把的人讲解. 2. 在swift与OC混编的编译环境下, oc类不能访问swift创建类中的代理? 解决方法如下: 在代理的头部加上 @objc(代理名字),这样就在外部就可以访问了,如下图. 然后就和oc中的代理一样,写上协议方法,就可以进行你想要的操作了. 3. swift中的回调方法介绍: 1. 通过代理 ,写法大家可以看上面的两张图片,和oc代理差不多. 2. 通过闭包来实现oc中代码块(Block)的方法,来进行代…
下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button1.button2.button3,全文没有注释,去看代码逻辑才能知道这三个按钮的意思,我也是醉了! 下面的规范 有的定的比较死,大家可以根据自己团队的风格进行修改.该文章主要是OC的代码规范,有几个是Swift的规范. OC和Swift的代码规范如下: 一.VC生命周期 模块排列顺序 1. 注意…
在oc中为了增强已有类的功能,我们经常使用分类.使用分类,我们可以在不破坏原有类的结构的前提下,对原有类进行模块化的扩展. 但是在swift中没有分类这种写法了.相对应的是swift中只有扩展(Extensions). 下面是swift中扩展(Extensions)的说明 扩展就是向一个已有的类.结构体.枚举类型或者协议类型添加新功能(functionality).这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模).扩展和 Objective-C 中的分类(categories)…
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 其实标题中这个问题并不准确,准确的说法应该是iOS下的OpenCV开发是使用OC还是Swift+OC.这个问题纠结了很久,研究了很多例子.先说结论:如果用到的算法规模不大且不熟悉cap_ios.h尽量用Swift+OC.(欢迎高手来打脸) iOS下OpenCV开发的例子很多,大家可以直接去GitHub上扒拉,但是Swift还是比较少,先贡献几个能运行的例子:Objective-C(<Inst…
参考资料: https://www.jianshu.com/p/734341f7c242 https://www.jianshu.com/p/55038871e7de   两天时间探索,期间不知道遇到了多少问题,各种google和Stack Overflow,甚至都求助了群友的力量.期间也想过放弃,还好有一颗不甘的心.终于成功了! 开心,哈哈,希望有缘人遇到同样问题的话,下面的一些记录可以帮助到你. 成功后,静态库里swift和OC代码可以被OC工程中OC和swift类使用.   一.编译库时,…
一.介绍 开发者对匿名函数应该很清楚,其实它就是一个没有名字的函数或者方法,给人直观的感觉就是只能看到参数和返回值.在iOS开发中中,它又有自己的称呼,在OC中叫Block代码块,在Swift中叫闭包(Closure)函数.在我个人看来,两者并没有什么太大不同,定义和实现方式差不多,只不过是名称不一样罢了.由于开发用的比较多,所以我就针对OC和Swift分别写一下他们的传值方式,加深印象. 二.需求 定义两个控制器分别为FirstViewController和SecondViewControll…
写久了OC后来写swift,总感觉写着是swift的皮毛,但是实际上是OC的核心,这里整理了OC迁移至swift中的一些小细节. 1 在当前类中,实例方法调用属性以及方法都可以将self省略掉,而且是建议省略 2 selector是调用方法写法是:Selector("sayHello")或者是#selector(sayHello) 3 swift中不同类型的值之间不能直接做运算,所以不同类型值做运算的时候需要对值进行类型转化,都转化至同一类型之后方可做运算 4 可选类型如果一个变量可能…
Swift 2.0新特性     转眼间,Swift已经一岁多了,这门新鲜.语法时尚.类型安全.执行速度更快的语言已经渐渐的深入广大开发者的心.我同样也是非常喜爱这门新的编程语言. 今年6月,一年一度的WWDC大会如期而至,在大会上Apple发布了Swift 2.0,引入了很多新的特性,以帮助开发者能更快,更简单的构建应用.我在这里也说道说道Swift 2.0中值得大家注意的新特性. guard语句 guard语句和if语句有点类似,都是根据其关键字之后的表达式的布尔值决定下一步执行什么.但与i…
iOS获取设备型号和App版本号等信息(OC+Swift) 字数1687 阅读382 评论3 喜欢10 好久没有写过博客了,因为中间工作比较忙,然后有些个人事情所以耽误了.但是之前写的博客还一直有人来问一些问题,有些之前写的已经比较久了,有些需要实时更新的也没来得及更新,发现会跟一些童鞋造成困惑,所以以后也希望能及时更新和写一些新的内容. 我之前博客的地址:一毛的博客,也是主要介绍iOS开发的,以后都在简书更新吧.希望大家能继续支持. iOS开发过程中,有时候为了更好的用户体验或者为了bug跟踪…
在oc中,如果要比较模型数组中的元素是否相等一般重新isEqual方法即可 -(BOOL)isEqual:(id)object{ if (self == object) { return YES; } if ([object isKindOfClass:[self class]]) { HXQHoldWorthModel *obj = (HXQHoldWorthModel *)object; return self.holdCount == obj.holdCount && [self.u…
(默认已经设置好桥接头文件)1.在Swift文件中写好协议2.oc类文件中导入:"项目名-swift.h"格式的文件 即:#include "项目名-swift.h"3.在协议前面添加 @objc例如:@objc protocol MYProtocol {func MyFunc( )}…
Swift 中的协议协议是为方法.属性等定义一套规范,没有具体的实现,类似于Java中的抽象接口,它只是描述了方法或属性的骨架,而不是实现.方法和属性实现还需要通过定义类,函数和枚举完成. 协议定义 // 协议定义通过关键字protocol protocol SomeProtocol { // 协议定义 } // 协议可以继承一个或者多个协议 protocol SomeProtocol2 :SomeProtocol { // 协议定义 } // 结构体实现协议 struct SomeStruct…
假如你来到这里,说明你已经開始着手使用swift这门新语言了. 就像Java有Maven一样.Objective-C也有自己的依赖管理工具cocoapods. 可是因为swift才出来不久,眼下非常多cocoapods管理的第三方库依旧是由Objective-C编写的. 为了可以在swift中使用这些类库.须要在Xcode中进行一些配置. 如果你的项目是基于cocoapods的,而且是通过XX.xcworkspace打开的.(Xcode6以上) 为了进行演示,如果导入的第三方库是MBProgre…