摘要:
swift中使用Selector经常要在方法前面添加@objc,除了默认的@objc,其实我们还可以添加自己制定的swift中调用的函数名 只添加@objc 关键字不用修改对应的方法调用名称 在OC文件中使用 NS_SWIFT_NAME()关键字来重新定义在swift中使用的方法名; @objc和N 阅读全文
摘要:
Unmanaged使用 作者 Nate Cook 翻译者 Croath Liu 2015年4月13日 & 160; & 160; & 160; & 160;API 对于开发者来说不只是把功能点接口暴露出来而已,同时也传达给我们一些其他的信息,比如说接口如何以及为什么要使用某些值。因为要传达这些信息, 阅读全文
摘要:
对于常用的css、js、image和常用的工具类在django项目中要设置一个全局的路径,对所有的app都可以访问到这个路径下的文件 1在django项目的setting文件中设置对应的static和media路径 2.上传文件到项目中都有在media文件下新建目录,比如下面的例子,定义的一个mod 阅读全文
摘要:
Forms组件的使用 在html表单验证中,需要通过各种信息的验证,比如注册界面的姓名、密码、邮箱、电话等的验证,是否符合定义好的规则,不可能每次都要取出对应的字段一一判断,django内置了Forms组件,可以方便的在HTML中进行校验等信息设置 1.Forms组件的作用 1.数据校验 2.渲染页 阅读全文
摘要:
1.Auth模块介绍 1.1 Auth模块是Django自带的用户认证模块,用于处理用户账户、群组、许可和基于cookie的用户回话 Django的认证系统主要包括下面几个部分 1.用户 2.许可 3.组 4.可配置的密码hash系统 5.用于用户登录或者限制访问的表单和视图工具 6.可插拔的后台系 阅读全文
摘要:
1.更换加载源 2.开始安装cocoapods 3.下载完成之后初始化设置 阅读全文
摘要:
1.Django数据库 多表的新增操作 1.一对一模式下新增 创建一个详情对象,把这个对象赋值给创建的新的user对象 1.1.删除和修改,直接修改更新 2.一对多的添加 3.多对多关系 4.基于对象的跨表查询 4.1 跨表查询分为正向和反向, 1.正向 关联字段在当前表中,从当前表向外查,叫正向 阅读全文
摘要:
1.Django数据库中的增删改查 1.添加表和字段 对表进行操作之后必须要执行数据库记录和同步数据库的操作 2.插入数据 根据创建的模型,对其进行赋值 3.为了方便对数据进行处理,在python脚本中调用Django环境 4.对数据操作,增删改查 5.单表查询的其他操作 1.all() 查询所有结 阅读全文
摘要:
1.修改设置settings中的配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 配置连接数据库 ,导入pymysql 阅读全文
摘要:
Django学习笔记 1.Django的安装 关于Django的版本和python的版本依赖关系,请看下图 Django版本Python版本 1.82.7,3.2(until the end of 2016),3.3,3.4,3.5 1.9,1.102.7,3.4,3.5 1.112.7,3.4,3 阅读全文
摘要:
1.Bugly的集成很简单,直接一个pod就可以搞定 2.在官网上注册账号 3.初始化SDK 导入头文件 在工程的AppDelegate.m文件导入头文件 3.1 Objective-C 3.2 Swift 4.启动程序,模拟一个数组越界的bug 5.大约一分钟左右就可以在后台看到奔溃信息 但是具体 阅读全文
摘要:
通常在Swift中定义一个闭包来使用 上面就是我们经常使用闭包的方法,这个方法的弊端就是,在项目工程中typealias满天飞,到处都是定义的闭包,这个时候结合泛型对闭包做如下的修改 这样定义之后我们在需要使用的时候就可以随意的定义闭包的参数类型了 阅读全文
摘要:
swift中由于有命名空间的存在,在同一个target创建的文件,都可以不引用直接就可以拿来使用,但是不同target之间必须要import 之后才能使用,在不同的文件中使用都要重复的import这个模块 阅读全文
摘要:
iOS AVAudioPlayer播放音频时声音太小 //引入AVFoundation类库,设置播放模式就可以了 阅读全文
摘要:
python版本 3.6 1.python的装饰器说白了就是闭包函数的一种应用场景,在运用的时候我们遵循 2.什么是装饰器 3.实现装饰器之前先来了解闭包函数 4.装饰器的实现 5.装饰器语法糖 6.完善装饰器 7.上面实现的装饰器是无参装饰器,有参装饰器更新中………… 阅读全文
摘要:
一.准备工作 1.使用python3.6和pycharm 2.使用的模块 tkinter 、requests 、beautifulSoup、getpass、os 3.网易云的榜单页面地址 https://music.163.com/playlist?id=2302000737 4.界面如下图 二.分 阅读全文
摘要:
1.需求 在文本界面输入SQL语句,查询相应的数据,例如输入下面的语句 开始分析整个需求 1.根据输入的语句实现数据库中的增删改查,四个操作 ①.语句解析 select, insert ,update,delete ②.四种语句解析做的工作类似,抽取一个函数专门解析 解析完成之后返回解析的语句,在分 阅读全文
摘要:
1.直入主题 python中基本的数据类型有 数字(整形,长整形,浮点型,复数) 字符串 字节串:在介绍字符编码时介绍字节bytes类型 列表 元组 字典 集合 下面我们直接将以下面几个点进行学习 2.常用方法总结 1.数字(常用就是表达一个值,没有专用的方法) 数字类型中(比如整形,浮点型等) 2 阅读全文
摘要:
1.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做 阅读全文
摘要:
在制作framework时遇到真机运行时导致的reason: image not found允许崩溃的问题,下面是我的解决方案: 首先我们分析一下出现这种情况的原因,原因就是framework找不到镜像了,也就是在真机运行是没有找到对应的framework包,在网上找的一些办法将框架引用从Requi 阅读全文
摘要:
1.as的使用场合 1.从派生类转换为基类,向上转类型(upcasting) class Animal{} class Dog:Animal{} let cat = ANimal() let dog = cat as Dog 2.消除二义性,数值类型转换 let num1 = 4 as Int le 阅读全文
摘要:
在iOS学习中登录注册是一个万能的可以拿出来实战的demo。接下来我们就从登录开始入手,PS:如果你对RXSwift中的概念和一些常用的函数不清楚可以参考这篇文章(可能打开比较慢请耐心等待)。开始直接上代码。先看一下我们要实现的效果。 loginGif.gif 分析实现: 1.在还没有输入的时候,显 阅读全文
摘要:
对于RXSwift中的一些基本概念和说明请参看其他文章,接下来我们使用RXSwift一步一步去构建TableView,从简单到复杂。iOS开发过程中tableView的使用率是最高的,他的一些代理方法功能强大,添加起来也比较繁琐。今天就使用RXSwift来创建tableView 一.开始之前的准备 阅读全文
摘要:
根据需求需要在项目中要打开word、pdf、excel等文件,在info.plist文件中添加 其中,CFBundleTypeExtensions是文件类型,比如:pdf,doc,xls等,不可乱填,CFBundleTypeIconFiles 是显示在活动列项中的图标,一般用的是app的icon,D 阅读全文
摘要:
一.ARKit的简介 开始进入正题吧 ARKit在iOS 11上推出的一个AR移动平台,支持A9以上的处理器,不支持模拟器。ARKit使用相机捕捉现实世界,使用SceneKit,SpriteKit或者Metal显示3D模型 ARKit的简单显示流程,而且在任何SCNScene他都有一个RootNod 阅读全文
摘要:
最近在项目中需要添加一个webView加载的页面,下面显示的是对这个webView所显示的内容的一个评论列表 ,列表要根据后台加载过来的HTML自适应的变化高度,tableview的cell在webView的下面显示,显示的效果 1.设置webView ,初始的高度设置为0.5 ,设置为tableH 阅读全文
摘要:
version是app发布时用户看到的版本号。 build的为了方便开发者多次提交binary, 比如被苹果reject后。 例如,第一次提交version和build都是1.0. 假如审核没过,那么修改代码后新的构建的version还是1.0,build改为1.0.1就ok了 阅读全文
摘要:
我们都知道在防止如block的循环引用时,会使用__weak关键字做如下定义: 后来,为了方便,不用每次都要写这样一句固定代码,我们定义了宏: 之后,我们可以比较方便的在需要的地方: 再后来,我们发现不止self需要使用weak,可能有部分变量也需要weak,于是我们的宏继续进化,不仅仅只支持sel 阅读全文
摘要:
前言 一直以来都让我很头痛的一个问题:系统自带的导航条,在标题文字很长时,进入到下一个界面,而下一个界面的标题也很长时,就会出现标题不居中显示。 曾经,我尝试过很多种办法,但是都没有从根上解决问题。下面笔者分别说说用过哪些方案。 方案一(不可行) 这个方案是不使用系统自带默认的backButtonI 阅读全文
摘要:
#pragma mark 搜索框的代理方法,搜索输入框获得焦点(聚焦) - (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { [searchBar setShowsCancelButton:YES animated:YES]; 阅读全文
摘要:
iOS7之后经过滑动返回导航栏隐藏和显示带来的坑 Apple 自从iOS7之后增加了屏幕边缘右滑返回交互的支持,再配合UINavigationController的交换动画,pop上一级的操作变的非常带感,从此我很少使用点击左上角导航栏返回按钮了的方式返回.如果一个App不支持滑动返回,那说明太不注 阅读全文
摘要:
前面几篇基本介绍了runtime中的大部分功能,包括对类与对象、成员变量与属性、方法与消息、分类与协议的处理。runtime大部分的功能都是围绕这几点来实现的。 本章的内容并不算重点,主要针对前文中对Objective-C Runtime Reference内容遗漏的地方做些补充。当然这并不能包含所 阅读全文
摘要:
Objective-C中的分类允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到。 Objective-C中的协议是普遍存在的接口定义方式,即在一个类中通过@protocol定义接口,在另外类中实现接口,这种接口定义方式也 成 阅读全文
摘要:
理解Method Swizzling是学习runtime机制的一个很好的机会。在此不多做整理,仅翻译由Mattt Thompson发表于nshipster的Method Swizzling一文。 Method Swizzling是改变一个selector的实际实现的技术。通过这一技术,我们可以在运行 阅读全文
摘要:
前面我们讨论了Runtime中对类和对象的处理,及对成员变量与属性的处理。这一章,我们就要开始讨论Runtime中最有意思的一部分:消息处理机制。我们将详细讨论消息的发送及消息的转发。不过在讨论消息之前,我们先来了解一下与方法相关的一些内容。 基础数据类型 SEL SEL又叫选择器,是表示一个方法的 阅读全文
摘要:
在前面一篇文章中,我们介绍了Runtime中与类和对象相关的内容,从这章开始,我们将讨论类实现细节相关的内容,主要包括类中成员变量,属性,方法,协议与分类的实现。 本章的主要内容将聚集在Runtime对成员变量与属性的处理。在讨论之前,我们先介绍一个重要的概念:类型编码。 类型编码(Type Enc 阅读全文
摘要:
Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等。 这种特性意味着Objective-C不仅需要一个编译器,还需要一个运行时系统来执行 阅读全文
摘要:
1. AFNetworking 作者是 NSHipster 的博主, iOS 开发界的大神级人物, 毕业于卡内基·梅隆大学, 开源了许多牛逼的项目, 这个便是其中之一, AFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交... 阅读全文
摘要:
对于系统中过时的方法或者是为了向下兼容兼容不同的版本使用最新的方法都要判断当前的系统版本号,在进行方法的调用1.系统方法过时的注释````objc- (void)imagePickerController:(UIImagePickerController *)picker didFinishPick... 阅读全文
摘要:
实现代码:CGDHelper 1 /* 2 * Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。 3 * 系统要求:iOS4.0以上。 4 */ 5 6 #import 7 8 ////////... 阅读全文