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

iOS - Swift 创建代理协议多种方式

�假如有一个类为 LXFView,现在要为这个类创建一个代理协议,我们该如何做呢?...首先,代理协议命名方式:类名 + Delegatev protocol LXFViewDelegate { func view(_ view: LXFView) } 当我们创建协议遵守其它协议情况下...报错 意思是weak只能修饰一个类或者类绑定协议类型 正如提示一样,我们当前代理并非是一个类或者类绑定协议类型 当前我们这个协议不仅可以被类遵守,还可以被结构体和枚举所遵守(这里不演示了)...class 这种方式下推荐【: class】,相比之下更为轻量级 办法2 在protocol前面加上【@objc】,表示objc类型协议 @objc protocol LXFPageViewDelegate...objc 这种方式优点是协议中方法不强制实现

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

自学Swift之路(一)UI入手之基本控件

本系列文章都是以有OC基础来写,所以注释不会写太多,对基础不够了解同学可能不太适合,另外本系列文章不是以教程式形式来写,是记录学习过程,所以不会有多少讲解 第一步:创建工程 A62A869C-6B27...-46C7-96A7-77BF0FB21C66.png 创建好工程后,我们会进入这个界面 C18EA84A-89AF-4920-8824-1CF1F2CA8B8C.png 好了开始编程:写一个创建子视图方法...,里面创建一些基本UI控件,然后在viewDidLoad中调用: override func viewDidLoad() { super.viewDidLoad()...// 2.UITextField let myTextF = UITextField(frame: CGRectMake(50,300,100,30))...,两种语言控件属性是一样,只是语法有些不一样而已,多写几个就会发现Swift都是一个套路.那好吧,简单控件就不写了,接下来我们来写下UITableView // 5.UITableView

2.9K110

Swift写一个响应式编程

使用 Swift 进行开发是一个很愉快体验,我已经完全不想再去碰 OC 了。最近想做一个响应式编程库,所以就把它拿来分享一下。...Reactive Programing 说到响应式编程,ReactiveCocoa 和 RxSwift 可以说是目前 iOS 开发中最优秀第三方开源库了。...响应式编程是一种面向数据流和变化传播编程范式。 比如用户输入、单击事件、变量值等都可以看做一个流,你可以观察这个流,并基于这个流做一些操作。“监听”流行为叫做订阅。响应式就是基于这种想法。...Signal 已经可以正常工作了,不过还有很多改进空间,我们可以使用一个工厂方法来创建一个 Signal, 同时将 send变为私有的: static func empty() -> ((Result...,也就是说上面的代码中出现了循环引用,其实仔细分析上面 UITextField 拓展中 signal实现就能发现问题出在哪儿了。

1K50

自学Swift之路(二)UITableView自定义和实际利用

自定义,附带场景使用(简单demo) 创建工程什么就不说了,先看一下界面然后咱们直接开始代码: ?...,是没有宏这个概念,但是直接创建一个文件,在里面直接定义常量,别的文件也是可以访问和使用(并且不需要导入):如图创建一个common文件 ?...ImageView和一个Label,虽然数据是死,但是在Swift中,另外一个类是可以直接访问另一个类中变量(如果没做任何保护的话),所以我们在配置cell时候是可以直接赋值,这里就不弄了,然后我们看创建表视图那一块...} } 创建单元格时候直接使用我们自定义BuildListTableViewCell创建就行了 好了,这篇文章也完了,这只是一个非常简单demo,大家平时工作要做肯定不止这么点,哈哈哈...学了这么几天,我发现Swift还是比较容易入手,下篇文章我会用一个小项目,本人是做室内地图SDK,这次小项目是仿我OC写SDK Demo,使用Swift和OC混编,集成百度地图SDK和自己室内

2.3K90

Swift写一个响应式编程

使用 Swift 进行开发是一个很愉快体验,我已经完全不想再去碰 OC 了。最近想做一个响应式编程库,所以就把它拿来分享一下。...Reactive Programing 说到响应式编程,ReactiveCocoa 和 RxSwift 可以说是目前 iOS 开发中最优秀第三方开源库了。...响应式编程是一种面向数据流和变化传播编程范式。 比如用户输入、单击事件、变量值等都可以看做一个流,你可以观察这个流,并基于这个流做一些操作。“监听”流行为叫做订阅。响应式就是基于这种想法。...Signal 已经可以正常工作了,不过还有很多改进空间,我们可以使用一个工厂方法来创建一个 Signal, 同时将 send变为私有的: static func empty() -> ((Result...,也就是说上面的代码中出现了循环引用,其实仔细分析上面 UITextField 拓展中 signal实现就能发现问题出在哪儿了。

85570

RAC(ReactiveCocoa)介绍(一)——基本介绍

之前在iOS工作中,类之间传值,无非就是block、delegate代理、KVO、notification这几种方法。...依据响应式函数编程,RAC方法本身更加简洁明了,通过提供信号方式(RACSignal)可以捕捉当前以及未来属性值变化,而且无需持续观察和更新代码。...通过RAC提供方法与系统提供方法分别进行对比,先来感受下RAC强大之处。 1. UIButton ? 通过默认Target-action创建点击动作 ?...使用RAC代替KVO监听属性变化 3. delegate代理 UITextField为例,当需要对UITextField逻辑处理时,往往需要实现其各类代理方法,大大增加了代码量。...block代码块中,当触发监听代理方法时返回元组类型数据,与swift元组类型有所区别,此处元组看起来更像是数组。 ? 打印结果 4. Notification通知 ? RAC通知使用 ?

2.1K51

iOS文本使用指南: 1、封装富文本API,采用block实现链式编程 2、 超链接属性 3、HTML字符串与富文本互转

引言 【持续更新中】 原文: https://kunnan.blog.csdn.net/article/details/114014827 I、封装富文本API,采用block实现链式编程 iOS开发效率工具...:完整SDK源码【封装富文本API,采用block实现链式编程】(block 妙用:结合block和方法优点实现iOS链式编程) 1、文章:https://blog.csdn.net/z929118967...等信息) 4.2、实现代理方法textView:shouldInteractWithURL:inRange,处理点击超链接回调(打开对应URL Webview) III、HTML字符串与富文本互转...API应用例子 4.1 适配iOS13UI控件UITextField_placeholderLabel 私有API 问题:iOS13无法直接访问_placeholderLabel.textColor...解决方案:使用 NSMutableAttributedString 富文本attributedPlaceholder来替代KVC访问 UITextField _placeholderLabel。

1.4K10

iOS开发——定制UITextField

iOSUITextField这个控件作为文本输入控件一定是使用率最高几个控件之一,而iOS提供默认原始TextField造型肯定在开发时很难满足我们要求,原因很简单,不够美观,实在太单调。...今天我们主要从UITextField键盘收起、placeholder设置以及自定义距离、字体,以及控制输入文本时,距离UITextField边框距离和UITextField中一些常用方法和枚举变量等方面来阐述如何定制自己...placeholder设置 在一些特定功能文本输入框,我们常常要设置placeholder属性来指明当期UITextField功能,例如:请在此处输入密码。...至于placeholder字体和字体大小设置 可以用如下方法设置,记住这个方法写在子类化UITextField中是没有效果,一定要写在创建UITextField过程中。...UITextAutocorrectionTypeYes, 自动纠错 } UITextAutocorrectionType; //再次编辑就清空 text.clearsOnBeginEditing = YES; //设置为YES时文本会自动缩小适应文本窗口大小

1.5K40

自学iOS开发,从新手小白到高级工程师正确打开方式

个人以为,从iOS开发小白到iOS开发高级工程师,可以分成以下四个阶段: 1.熟悉语言语法阶段(小白) iOS开发主要有两种语言:Objective-C和swift。...当然如果你学好了Objective-C,再去学习swift也很好,为以后做打算。 学完一门编程语言语法,你起码应该熟悉一下几点: (1)语言数据类型有哪些,怎么去定义。...1.基础 如果你是一个非编程相关专业的人,例如艺术专业想转iOS开发,建议你先去学C,C可以说是编程《易筋经》,学好了C学其他语言会很容易上手。如果你有了编程基础,那就直接去学OC和swift吧。...本人学习swift是《Swift Programming Language》,学习Objective-C看是《Objective-C编程全解》。...看牛人个人博客是很好学习方式,很多牛人都会把知识总结写成博客。这个大家可以自己去找找,这里发链接不太合适。 写博客,只是看博客还不行,还要自己写。写好坏不要紧,重要是写不写。

1.7K80

iOS今日头条第3轮面试回忆

文本灵活展开表视图。...四、由编程题衍生口头题目 4.1 题目: 怎样实现外部只读属性,让它不被外部篡改 解析: 头文件用readonly修饰并声明该属性。...为什么 编译时候,不能添加实例变量,否则报错。 编译时候可以添加属性,但是一旦在创建对象后为属性赋值或者使用这个属性时候,程序就崩溃了,奔溃原因也很简单,就是找不到属性set/get方法。...但是通过传统实例变量方式,一加就报错。看来这才是类别不能扩展属性根本原因。 [image] 那么怎么办?通过runtime关联对象。...如果不加atomic会怎么样呢?当内存长度大于地址总线时候,例如在64位系统下内存中读取无法像bool等纯量类型原子性完成,可能会在读取时候发生写入,从造成异常情况。

1.4K20

全新Swift从入门到进阶实战探探iOS APP

Swift作为Apple推出编程语言,旨在简化iOS和OS X应用开发过程。...相比之下,Objective-C语法自其创建以来几乎没有进化,与基于C++语法其他现代编程语言有很大不同7。...虽然本问题询问是如何使用Swift和UIKit,但SwiftUI作为Swift扩展,提供了更现代、更简洁方式来构建用户界面。...通过学习和应用这些知识,开发者可以更好地利用Swift和UIKit功能来创建高效、响应式用户界面。此外,AF4iOS框架提出提供了一个基于类库和现有软件框架iOS应用开发框架20。...这种方法通过细粒度负载平衡和动态数据通信,实现了在大规模核心上强扩展性25。深度挖掘API文档改进API映射:在进行iOS应用开发时,正确地映射不同编程语言之间API是至关重要

19810

译文-MVVM系列-RxSwift简介及Reactive Programming可以做事情

网上已经有很多文章介绍reactive和RxSwift,也有很多教程教大家怎么处理Rx中各种状况(文本后面会放一些相关链接)。...然后我们将映射出来文本绑定到labeltext属性。这样就OK了。不用delegates、不用if,只需要几行简明扼要代码。 可能你会觉得:看起来很美好,但是有多少app会有这样需求?...如果你用是storyboards,在创建@IBAction时候就会看到.touchUpInside。在这个例子中,不需要考虑按钮点击事件。...而用Rx,则用如下方式添加按钮action: var button = UIButton() var disposeBag = DisposeBag() override func viewDidLoad...如果希望响应多个手势,就需要分别创建、添加,这样不仅会产生很多重复代码,代码还容易混乱、出错。

1.5K20

1.注册或登录页面设计:UILabel,UIButton,UITextField

学习iOS开发已经有一段时日了,之前一直没有系统iOS开发相关知识进行归纳总结,导致很多知识点云里雾里在脑子里形不成iOS开发思想,现将自己在学习过程中遇到一些知识进行总结,希望能对iOS初学者能有一定帮助...作为iOS开发入门总结第一篇,这里最常见注册或登陆页面设计作为开篇,这里主要会用到UILabel,UIButton,UITextField这三个控件。...一.注册或登录界面 如下图,实现了一个注册或登录界面,这里先只介绍单个页面,不介绍点击“完成”按钮后动作,在之后系列《iOS开发入门总结》中会逐步介绍,等基础知识介绍差不多了,就可以一个完整注册系统作为小结...说明: 这里为了展现UITextField文本框关联键盘设置,这里把“密码”和“确定密码”关联键盘都设置为数字键盘,实际应用中密码一般都允许为数字或字母。 实现了键盘收回操作。...text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; //设置为YES时文本会自动缩小适应文本窗口大小.

2.3K50

Swift入门:怎样安装Xcode和创建Playground

watchOS是苹果最小操作系统名字,负责运行本机应用程序,并从手机发送通知。 Swift是苹果现代编程语言,允许你为iOS、macOS和其他平台编写应用程序。...它包含按钮、文本框、导航控件等,您可以使用Swift来驾驭它。 AppKit是苹果macOS用户界面工具包。像UIKit一样,它包含了按钮、文本框等内容,尽管它关注是macOS而不是iOS。...iOS Simulator(模拟器)是Xcode附带一个工具,它外观和工作方式几乎与真正iPhone或iPad一模一样。它可以让你很快地测试iOS应用程序,而不必使用真正设备。...image Xcode会问你是否想为iOS或macOS创建一个Playground,但这里并不重要——这篇介绍几乎完全是关于Swift语言,没有用户界面组件。为避免出现问题,请选择“iOS”平台。...您还将注意到,操场第一行两个斜线开头,//。当 Swift 看到两条这样斜线时,它会忽略掉线后面的所有东西。这通常用于注释:您在代码中写入注释,帮助您理解它以后作用。

6.1K10
领券