首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Objective-C类目,延展,协议

Objective-C类目(Category),延展(Extension),协议(Protocol)这些名词看起来挺牛,瞬间感觉OC好高大上。...一.Objective-C类目(Category)         在Objective-C比其他OOP编程语言多了个类目,在OC中除了用继承来扩充功能函数外我们还可以用类目来实现。...二.Objective-C延展(Extension)         简单说匿名类目就是延展,在延展中定义方法是私有的方法只能在内部调用,定义延展方式就是把类目中括号中得名字省略掉,括号保留这就是延展...把中常用方法抽象成OC中得协议协议中只有方法声明没有方法实现,在protocol中可以把方法定义成@required(必须):在使用协议中如果不实现@required方法,编译器不会报错但会给出警告...    ​测试代码: 1 2 3 4 5 6 7 //测试协议对象 AddClass *add = [AddClass new]; //往protocol对象中calculator方法中传入符合协议

99880

Objective-C集合

下面详细介绍Objective-C集合以及每个集合用法,学过其他面向对象编程语言小伙伴们看到OC集合会有种莫名亲切感,理解起来问题不大,可以类比Java中集合去学习...在Objective-C集合中主要包括不可变数组--NSArray,  可变数组--NSMutableArray,   不可变字典--NSDictionary,    可变字典--NSMutableDictionary...,必须先把数据类型转换成对象,然后再存入集合中。...OC中集合中是不能放基本数据类型,那么我们如何把基本数据类型封装成对象呢?...在OC中给我们提供啦一个专门来把基本数据类型封装成对象,这个就是NSNumber.     ​    ​    ​1.

1.1K70
您找到你想要的搜索结果了吗?
是的
没有找到

(转)iOS开发之UICollectionViewController系列(一) :Ready CollectionViewController

UITraitEnvironment 是iOS8以后才引入协议接口,它和Size Class有关,这个封装了像水平和竖直方向Size Class等信息,iOS8UIKit中大多数UI基础...UIContentContainer 是iOS8之后添加协议,也是和Size Class相关协议。该协议方法可以帮助你适配视图控制器上内容,比如内容尺寸和位置等。...你可以重写loadView或者其他超方法,但是如果你这样做, 你必须确保在你实现方法中使用super调用了超中相应方法。...:(UICollectionView *)collectionView { return 1; } (2) 返回每个Section中Cell个数方法 Objective-C - (NSInteger...return 30; } (3) 通过Cell重用标示符来选择和重用Cell Objective-C - (UICollectionViewCell *)collectionView:(UICollectionView

5.5K40

Objective-C中NSArray解读

Objective-C中NSArray解读     NSArray数组Objective-C语言中常用也是重要一个,除了开发中常用到一些基础功能,NSArray及其相关中还封装了许多更加强大功能...有机会总结了一下,与需要朋友们分享。...参数为C数组长度 //如果cnt值小于C数组长度,则会对C数据进行截取赋值,如果大于则程序会崩溃 - (instancetype)initWithObjects:(const ObjectType...usingBlock:(void (^)(ObjectType obj, NSUInteger idx, BOOL *stop))block NS_AVAILABLE(10_6, 4_0); //通过遍历方式查找符合条件元素下标...passingTest:(BOOL (^)(ObjectType obj, NSUInteger idx, BOOL *stop))predicate NS_AVAILABLE(10_6, 4_0); //通过遍历方式查找所有符合条件元素下标

1.3K20

SpringBoot开发符合S3协议文件存储服务

背景 公司最近业务大量涉及安可项目,要求避免使用第三方组件,原有开发框架支持本地文件存储/Minio/各类云存储,现在要求文件独立存储且文件服务需要自研,经调研评估后决定基于SpringBoot开发文件存储服务...,使用s3协议标准,这样可以直接使用aws-sdk接入无需再开发客户端,且安全安全性方面可以得到足够保证(签名验证部分参考我博文《Java实现AWS S3 V4 Authorization自定义验证...gitee.com/code2roc/local-s3 运行jar包,默认信息如下 api地址:http://localhost:8001/s3 用户名:admin 密码:abcd@1234 概述 s3协议无标准说明文档...,为rest风格,创建/删除/详情方法通过PUT/DELETE/HEAD表述 很多方法共用一个路由,通过head参数区分(例如putObject和copyObject) 参考aws最新api文档:https...Key ID:填写配置文件中username Secret Access Key:填写配置文件中password 去除SSL选项 配置签名 在编辑连接页面点击左下角Advanced S3 Compatible

25130

SpringBoot开发符合S3协议文件存储服务

背景公司最近业务大量涉及安可项目,要求避免使用第三方组件,原有开发框架支持本地文件存储/Minio/各类云存储,现在要求文件独立存储且文件服务需要自研,经调研评估后决定基于SpringBoot开发文件存储服务...,使用s3协议标准,这样可以直接使用aws-sdk接入无需再开发客户端,且安全安全性方面可以得到足够保证(签名验证部分参考我博文《Java实现AWS S3 V4 Authorization自定义验证...https://gitee.com/code2roc/local-s3运行jar包,默认信息如下api地址:http://localhost:8001/s3用户名:admin密码:abcd@1234概述s3协议无标准说明文档...,为rest风格,创建/删除/详情方法通过PUT/DELETE/HEAD表述很多方法共用一个路由,通过head参数区分(例如putObject和copyObject)参考aws最新api文档:https...ID:填写配置文件中usernameSecret Access Key:填写配置文件中password去除SSL选项图片配置签名在编辑连接页面点击左下角Advanced S3 Compatible

57931

符合Modbus协议4-20mA信号采集方案

测试参数 通讯协议:Modbus RTU协议 主从关系:1主4从 主站通讯接口:Rs485接口(两线制) 从站通讯接口:模拟量4-20mA信号输入(AI) 供电:9-24VDC 传输距离:100米,500...主站接线说明 第一步:用一根红色导线将触摸屏Rs485端口7脚与DTD433MCA端口相连接;用另一根黑色导线将触摸屏Rs485端口8脚与DTD433MCB端口相连接 第二步:给无线通讯终端接入天线...第三步:全部接线结束后,分别给触摸屏与无线通讯终端供电 四、实现触摸屏与模拟量无线Modbus通讯 给DTD433FC接入模拟量信号发生器,触发一个4-20mA信号,触摸屏界面上对应绿色条形框里就会显示相应数值...五、485无线传输模块——DTD433M/DTD433F 图片22.png DTD433F无线MODBUS测控终端产品模拟量信号无线485传输模块是针对工业级用户,采用MODBUS RTU协议,并以无线串口通信方式代替有线...所有从机地址都是唯一,不会存在从机间互相干扰情况。 详情方案+QQ 598075900

1.3K41

(转)iOS开发之UICollectionViewController系列(三) :UICollectionView自定义瀑布流

UICollectionView之所以强大,是因为其具有自定义功能,这一自定义就不得了啦,自由度非常大,定制高,所以功能也是灰常强大。本篇博客就不使用自带流式布局了,我们要自定义一个瀑布流。...UICollectionView自定义功能就是自己去实现UICollectionViewLayout子类,然后重写相应方法来实现Cell布局,先介绍一下需要重写方法,然后再此方法上进行应用实现上述瀑布流...Objective-C // UICollectionView calls these four methods to determine the layout information. // Implement...我们需要在UICollectionViewLayout子类中实现相应布局方法,因为UICollectionViewLayout是虚基,是不能直接被实例化,所以我们需要新建一个布局,这个布局继承自...在该函数中具体调用函数如下所示: Objective-C #pragma mark -- 虚基中重写方法 /** * 该方法是预加载layout, 只会被执行一次 */

5.9K40

objective-C OOP(上)--定义、继承及方法调用

,注意:在obj-C中,定义一个通常分成二部分,一部分是".h"文件,用来申明有哪些成员(也称为定义文件,类似于接口),另一部分是".m"文件,用来提供具体实现 Shape申明部分如下:...ShapeRect) bounds; - (void) draw; - (NSString*) getColorName:(ShapeColor) fillColor; @end //Shape Shape实现部分如下...bounds.x,bounds.y,bounds.width,bounds.height,[super getColorName:fillColor]); } @end 注:上面展示了在obj-C中如何调用父方法...,在obj-C中id相当于“任意类型”,意为指向某对象指针(哪怕你不知道这个对象是什么类型),总之,如果你不知道某对象具体类型时,用它就对了。...同时我们也看到了,创建一个实例用“[ new]”来完成。 最后附上文件结构图:

1.2K80

iOS开发之资讯App常用分类控件封装与实现(CollectionView+Swift3.0+)

今天博客中,我们就来实现一下一些常用资讯App中常用分类选择控件封装。...当然下方效果是一些资讯App中选择分类时,常用部分。主要还是对UICollectionView使用。当然,下方效果实现,网上也不乏相应实例。...稍后我们会给出该协议中所以对应内容。 DataSourceToolscreateDataSource()方法就负责创建我们需要测试数据。...下方MeteData就是我们要在上述控件测Cell中显示数据。该类实现了CEThemeDataSourceProtocal协议,并给出了menuItemName()方法实现。...如果Cell符合我们要求,我们就调用UICollectionViewbeginInteractiveMovementForItem()方法来启动移动Item功能。

1.5K50

(转)iOS开发之UICollectionViewController系列(四) :一款功能强大自定义瀑布流

在今天这篇博客中我们要接着上篇博客中Demo,使其自定义布局属性在使用它UICollectionView中是可配置。...如果想使用该布局文件,你需要为我们UICollectionView来指定该布局文件,在本篇博客中Demo中是在Storyboard中进行自定义布局文件指定,你也可以通过代码方式指定,再次不做过多赘述...代理即可,代码如下: Objective-C _customeLayout = (CustomeCollectionViewLayout *) self.collectionViewLayout;..._customeLayout.layoutDelegate = self; 2.实现CustomeCollectionViewLayoutDelegate中方法 需要在UICollectionView...你可以通过这些方法去设定cell列数,Cell外边距,Cell最小高度,Cell最大高度,如下所示: Objective-C #pragma mark - (NSInteger) numberOfColumnWithCollectionView

5.5K50

精品资源汇总:(持续更新)

设置横屏2、viewWillDisappear 设置竖屏 5、用法简单:采用block回调电子签名图片 UICollectionView自适应案例详解:【商品详情页】(核心原理:按照图片原宽高比例进行显示图片全部内容...3、核心原理 : 3.1)按照图片原来宽高比进行缩 3.2)UICollectionView高度自适应 II 蓝牙打印商品价格标签、交易小票 【打印商品价格标签及打印交易小票】demo源码:https...tabBar,以及购物券app首页tabBar 3、特色功能:在更新数据期间旋转tabbaricon blink https://blink.csdn.net/details/1175811 VI...1、iOS《用户协议及隐私政策》弹框(包含超链接属性)【本文包含完整demo源码,demo支持中英文切换】 2、UICollectionView自适应案例详解:【商品详情页】(核心原理:按照图片原宽高比例进行显示图片全部内容...5、我已加入CSDN内容合伙人计划,亲爱各位粉丝,可以添加我CSDN官方微信号,和我近距离互动聊天,为您答疑解惑 #公众号:iOS逆向 CSDN认证博客专家 Swift SwiftUI Objective-C

1K30

跨平台rdp协议rdp协议、非rdp协议远程软件

RDP协议推荐3种:https://docs.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/clients/remote-desktop-clientshttps...://www.parallels.cn/products/ras/download/client/https://jumpdesktop.com/RDP协议2种:①向日葵(百度百科介绍说“向日葵采用独有的远程桌面协议...sunlogin.oray.com/download/ (server、client端软件相同)②anydeskhttps://anydesk.com/zhs/downloads (server、client端软件相同)非RDP协议推荐...QQ快捷登录,RDP协议不兼容QQ快捷登录最好用手机远程软件,非jump desktop莫属这里贴一个jump desktopapk,手机远程windows服务器工具很多,最好用是jump desktop...,没有之一,鸿蒙、安卓均可,市面上安卓版本均可大而全跨平台远程软件,非RDM(Remote Desktop Manager)莫属https://help.remotedesktopmanager.com

5.9K30

Objective-C】05-第一个OC

说明:这个Objective-C专题,是学习iOS开发前奏,也为了让有面向对象语言开发经验程序员,能够快速上手Objective-C。...如果你还没有编程经验,或者对Objective-C、iOS开发不感兴趣,请忽略。学习本专题之前,建议先学习C语言专题。 OC是一门面向对象语言,因此它也有、对象、静态\动态方法、成员变量概念。...这讲就来创建第一个OC。...二、用Xcode创建第一个OC  1.右击项目文件夹或者文件,选择"New File" ? 2.选择Cocoa"Objective-C class" ? 3.输入名和选择父 ?...* Student.h是声明文件,Student.m是实现文件 * 默认情况下,这2个文件文件名跟名一致 * 编译器只会编译.m文件,并不会编译.h文件 三、第一个代码解析 1.Student.h

836100

实践-小细节Ⅴ

避免多个UICollectionView 在一个View中 ?...如果你在一个页面中创建了多个 UICollectionView 它们使用一套代理方法,也许在每个代理方法中你对当前UICollectionView 做了判断,使用了不用数据源,可是你会发现还是有莫名其妙...正确做法是: 如上图效果,自定义一个包含一个Label 一个UICollectionView视图,创建两个对象即可,这样可避免多个UICollectionView使用一套代理协议造成莫名其妙...Bool和bool 不同之处 OC 中BOOL 实际上是一种对带符号字符类型(signed char)类型定义(typedef),它使用8位存储空间。...注意:objective-c 并不会将BOOL作为仅能保存YES或NO值真正布尔类型来处理。编译器仍将BOOL认作8位二进制数,YES 和 NO 值只是在习惯上一种理解。

74710

Python中协议 、鸭子类型 、 抽象基 、混入

本篇文章探讨一下python中几个概念:协议 、鸭子类型 、 抽象基 、混入。 一、协议 在python中,协议是一个或一组方法。...例如,Python 序列协议包含 len 和 getitem 两个方法, 上下文管理器协议包含 enter 和 exit 两个方法(前者参见文章 《一文读懂python可迭代对象、迭代器和生成器》,后者参见文章...二、鸭子类型(duck typing) 多态一种形式,在这种形式中,对象类型无关紧要,只要实现了特定协议即可。...示例1 中Eg1 实现了 len 和 getitem两个方法,也就是实现了序列协议,那么它表现就和序列类似。...print(issubclass(Cat, Animal)) 输出: True 这种通过注册和抽象基关联起来叫做虚拟子类,虚拟子类不会继承注册抽象基,而且任何时候都不会检查它是否符合抽象基接口

1.8K20
领券