
ios基础
文章平均质量分 83
Kevin&Swift
每天进步一点点.记录生活的一部分
展开
-
swift与oc的互相调用
swift与oc的代码是可以互相调用的创建一个类 继承自nsobject 随后在,h文件中声明一个方法,随后再.m文件中实现这个方法 在桥接文件中 添加进这个文件的头文件 随后就可以直接在swift的代码中调佣这个OC的代码在.h文件中#import @interface sayHello : NSObject-(void)sayHello;@end在.m文件中原创 2015-11-25 20:35:22 · 533 阅读 · 0 评论 -
KVO与KVC键值监听的机制
KVC 通过key 来检测value的值直接贴上代码 var peo = stu() peo.name = "cao" //kvc 通过key来访问value var name = peo.valueForKey("name") as! NSString peo.setValue("kai", forKey: "name")原创 2015-12-27 19:05:52 · 505 阅读 · 0 评论 -
pageControl与ScrollView的联合使用
pageControl和scrollVIE可以联合使用,scrollview主要有几个属性 一个contentSize 是总共的视图的容量大小,每个view的x坐标要不相同 随后实现scrollview的协议,当scrollview翻页的时候,来实现pagecontrol的翻页,读出他的contentoffset事偏移量 为一个CGPoint 读出后,x的坐标除以viewwidth便可以实现pag原创 2016-01-26 22:35:59 · 434 阅读 · 0 评论 -
OC下retain copy nomatic等属性的解析
strong 和weak 是由ARC新引入的对象变量属性xcode 4.2之前的版本使用的是retain和assign,是不支持arc的,xocde4.3之后,iOS(5)以上就有了ARC内存管理机制,所以开始了使用assign 用于非指针变量 例如nsinteger 和Int 等@property (nonatomic, assign) int number; @prop原创 2015-12-27 16:51:53 · 647 阅读 · 0 评论 -
通过nsurlsession向服务器传送json数据
近几天真是被json搞死了 终于知道该怎么用json向服务器传输json了 直接贴代码吧 //多样性的request let request = NSMutableURLRequest(URL: NSURL(string: "http://localhost:4567/login")!) let session = NSURLSession.share原创 2015-12-26 20:19:25 · 2848 阅读 · 0 评论 -
autolayout的使用
autolayout 感觉真的好难,只能以后来更新有关这里的文章了。先把看到的好的博客附上吧https://www.zybuluo.com/MicroCai/note/73867原创 2015-12-20 18:19:05 · 365 阅读 · 0 评论 -
图片的一些操作
图片的创建和从应用程序目录下复制到沙盒之中,import UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,原创 2016-02-04 22:37:53 · 373 阅读 · 0 评论 -
GCD线程的应用
GCD的创建 看了视频从大神的代码里面复制进来 先用OC版的 首先是串行队列,是一条一条语句执行的 而并发队列 你并不知道执行的先后顺序是咋样的 首先是要创界队列 随后在队列里面去执行线程//构建串行队列-(void)serialQueue{ //创建串行的队列 GCDQueue *queue = [[GCDQueue alloc]initSerial]; //执行串原创 2016-02-12 23:22:35 · 483 阅读 · 0 评论 -
打开网页的操作
从APP切换到外部的浏览器UIApplication.sharedApplication().openURL(NSURL(string:"http://www.baidu.com"))内嵌一个webView 如今很流行不多说了 还有ios 9新出的 用SafariVIewController 内嵌PDF阅读模式 let vc = SFSafariViewController(URL原创 2016-03-02 22:08:20 · 517 阅读 · 0 评论 -
iPhone屏幕像素 分辨率 xcode中的逻辑宽高的介绍以及strcut与class的区别
个人认为的不错的iphone的屏幕像素,分辨率,因此在xcode中采用的逻辑宽高不错的介绍http://foggry.com/blog/2014/09/28/iphoneping-mu-zhi-shi-dian-jie-xi/原创 2016-02-02 21:51:28 · 496 阅读 · 0 评论 -
实现单元格的插入与删除
在sb中将原来的vc删除 随后拖入navigation controller 将textField拖入 不是拖入到主界面上 而是拖到上面去 如图所示随后实现插入与删除 在单元格中 限时一个navigation controller 随后设置左按钮的状态 只有编辑和保存的两种状态,随后声明插入和删除该作用于哪些行 随后再实现插入和删除 数组声明为NSMutableArray 数组和列表同原创 2016-01-22 21:26:22 · 631 阅读 · 0 评论 -
NSPredicate和搜索栏的使用
这一节主要来讲一下 搜索栏联合NSPredicate谓词过滤来进行判断分析的情况 searchBar有委托方法 但不要求数据源 还有一个NSPredicate方法的谓词匹配法 SELF 表示对象 随后contain表示包含这个字符 随后c表示不区分大小写 当得到谓词匹配式以后 就来刷新数组 NSArray和NSMutableArray有不同的方法 随后刷新数组 刷新列表即可//// Vie原创 2016-01-22 20:23:51 · 456 阅读 · 0 评论 -
NSURLSession加载数据 下载上传
NSURLSession类支持三种类型的任务 :加载数据 下载和上传 为data task download task 和 upload task session task是整个NSURLSeesion架构的核心//加载数据 func sessionLoadData() { //创建NSURL对象 var url = NSURL(string: "htt原创 2015-11-20 20:35:14 · 337 阅读 · 0 评论 -
网络通信
用字符串来加载网页的html信息import UIKitclass ViewController: UIViewController { override func viewDidLoad() { var str = String() super.viewDidLoad() // Do any additional setup af原创 2015-11-20 16:00:03 · 263 阅读 · 0 评论 -
苹果本地推送的服务
苹果推送主要分为服务器的推送和本地的推送 服务器的推送主要是要注册ID 所以暂不说 先把本地的推送代码附上本地推送是NSLocalNotification实现的 通过在AppDelegate.swift中添加代码,主要在其中添加添加推送服务App第一次执行时被执行过一次,每次App从后台激活时都不执行该方法 func application(application: UIAp原创 2015-11-21 11:06:10 · 309 阅读 · 0 评论 -
view和layer的区别
好几天没写博客了,今天来写一发,主要是讲layer和view的区别,view主要是layer的上面的一层,在layer上可以进行绘制,例如动画,或者图形的描边等,在view 上面显现出来下面是一个比较好的博客http://www.cnblogs.com/lovecode/articles/2249548.html原创 2015-12-18 23:10:54 · 727 阅读 · 0 评论 -
弹出键盘时遮挡输入框的问题解决
在进行输入框的动作时,经常会弹出键盘时,遮挡住输入框,所以特意去搜了一下,发现是一个动画的效果 下面增上代码添加两个输入框,随后 设置代理在 didbeginediting中 加入代码 func textFieldDidBeginEditing(textField: UITextField) { let animationDuration = NSTimeInterva原创 2015-12-18 23:48:37 · 1821 阅读 · 0 评论 -
状态栏的设置
状态栏是最前部分的一条栏 可以主要看一下两个文档http://my.oschina.net/shede333/blog/304560http://blog.youkuaiyun.com/pucker/article/details/12112105原创 2015-12-18 23:56:48 · 801 阅读 · 0 评论 -
多线程的应用
多线程是单个应用程序内多个代码的执行路径,在每个应用程序的内部都会存在一个或者多个并行的线程,同时或者几乎在同一时间里执行不同的任务,swift继承了老的OC的方法1NSThread 是轻量级最轻的,需要自己管理线程的生命周期和线程同步,线程同步会对数据的枷锁会有一定的系统开销//定义一个下载图片的方法 用于线程的调用 func downLoadImg() { va原创 2015-12-01 18:19:09 · 344 阅读 · 0 评论 -
利用协议在view controller之间传递数据
最近在看传递数据的方面,从主界面到第二个界面时,可以用segue 和 import 一下就行,不过从 第二个界面到第一个界面,貌似这两种方法都不可行,所以可以用协议的方法来做swift版先定义一个协议import Foundationprotocol Send{ func Send(value:String)}然后在发送数据的view controller里面定义de原创 2015-12-20 14:05:41 · 421 阅读 · 0 评论 -
关于swift的访问级别
swift的访问级别有public internal 还有private 具体可看这个大牛的博客http://www.devtalking.com/articles/swift-access-control/原创 2015-12-20 15:56:15 · 415 阅读 · 0 评论 -
多媒体的应用
主要学习一下多媒体的播放声音 和播放视频等的应用首先先下载一段音乐 随后直接拖入到文件 进行拷贝 随后再sb中添加三个按钮 为play pause 和stop为三种状态 随后添加头文件 为3个按钮指定动作代码如下import UIKit//导入播放媒体的类import AVFoundationclass ViewController: UIViewController原创 2015-11-19 17:20:37 · 599 阅读 · 0 评论 -
ios沙盒的应用
ios中,编辑器为每一个应用程序都开了一个沙盒,使得程序只能访问本应用程序内的文件,而不能访问应用程序外部的文件,是ios的闭源体现点沙盒的内部有3个文件夹,Document苹果建议将程序中浏览到的文件夹的数据保存到该目录下itunes备份和恢复的时候会包括这个目录library存储程序的默认设置和其他状态信息library/caches存放缓存的文件,itunes不会备份此目录,原创 2016-02-04 20:07:57 · 331 阅读 · 0 评论 -
录制视频和播放视频的应用
视频的录制主要有mediaplayer和avfoundation的avplayer来实现直接在代码的注释中说明import UIKitimport MediaPlayerclass ViewController: UIViewController { //该类封装了mpmovieplayer和uiviewcontroller 是一个视图控制类 var moviePlay原创 2016-02-04 22:03:18 · 456 阅读 · 0 评论 -
Apple官方demo总结
今天看了apple的官方demo 受益良多 总结一下保存自定义的类 可以用NSArchiver这个类首先是类要遵循的协议 NSObject 和 NSCodingclass Meal: NSObject, NSCoding先保存键 // MARK: Types struct PropertyKey { static let nameKey = "原创 2016-07-22 15:36:11 · 598 阅读 · 0 评论 -
重定向NSLog
重定向NSLog 使得其日志的输出不用输出至控制台,可以输出在文件中,这样APP出现问题时,便可以将文件发送回来输出至自己的沙盒之中#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super v原创 2016-06-16 22:33:55 · 584 阅读 · 0 评论 -
shadowOffset shadowColor 的应用和image中AspectFill中的应用
shadowOffset顾名思义 是来设置阴影的,可以设置阴影的偏移量,view.layer.shadowOffset = CGSizeMake(4.0, 1.0)设置x向右偏移4,向下偏移1,默认为(0,-3) shadowColor用来设置阴影的颜色 view.layer.shadowColor = UIColor.blackColor().CGColorshadowR原创 2016-07-04 12:51:55 · 542 阅读 · 0 评论 -
PCH文件的加载与宏定义
在项目中,使用宏是非常必要的事情,在ios中使用OC开发,定义宏,用的是PCH文件创建PCH文件 命名为项目名-Prefix.pch 随后在building settings中搜索Prefix Header 打上项目名/项目名-Prefix.pch将Precompile Prefix Headre设置为true 随后点击product 的clean 编译一下 即可通过若有不清楚原创 2016-07-08 13:38:10 · 516 阅读 · 0 评论 -
ios中最新的发布流程
APP中国最新的发布流程 主要涉及到三个证书 一个是签名证书 需要mac电脑的钥匙串访问 一个是签名证书 一个是PP证书 也就是APP_STORE上的证书 主要看这个博客http://www.jianshu.com/p/0658935de8df原创 2016-08-17 14:50:46 · 226 阅读 · 0 评论 -
cocoapods的安装和第三方插件管理工具的安装
首先是镜像的更换,由于国外的镜像被屏蔽了,因此用国内的淘宝镜像http://www.jianshu.com/p/e2f65848dddc还有就是ruby版本的安装,cocoapods的安装需要ruby的版本要大于2.2因此用这个博客 https://segmentfault.com/a/1190000003784636用rvm来安装新的版本ruby2.2.4还有就是在p原创 2016-08-19 22:38:52 · 471 阅读 · 0 评论 -
OC当中的闭包
OC当中闭包的基本定义 int (^sumBlock)(int,int)随后定义其具体的实现方式 int (^sumBlock)(int,int) = ^(int a,int b){ return a + b; };关于swift 和OC中闭包的区别 可以看这个博客 目前个人也不是很看得懂。。。http://www.jianshu.com/p/d0d7b5原创 2016-08-12 16:20:05 · 1931 阅读 · 0 评论 -
iOS10和xcode8的兼容问题
今天看了一下微信,来兼容iOS10和xcode8的问题 和网络抓取包的应用 主要是以下三篇文章的解释在这里 个人认为主要有用的是xcode的插件的安装,虽然自己还没有成功,还有网络http的问题 和在运行后,打印出一些无聊的东西的问题。http://mp.weixin.qq.com/s?__biz=MzAxMzE2Mjc2Ng==&mid=2652155356&idx=3&sn=a1d34原创 2016-09-18 17:59:21 · 562 阅读 · 0 评论 -
ios学习之xcode编译器的浅谈
今天去逛了一下cocoachina 这个网站,了解到了xcode更多的知识 以下贴出http://www.cocoachina.com/special/xcode/原创 2015-10-28 22:45:37 · 371 阅读 · 0 评论 -
纯代码实现AutoLayout
用代码实现AutoLayout 可以避免复杂的计算 不过还是需要很强的逻辑思维来进行编辑首先是要创建视图 要记住先subView才能添加约束 self.title = @"使用AutoLayout的方式"; UIView *purpleView = [[UIView alloc]init]; purpleView.backgroundColor = [UIColor pur原创 2016-06-29 16:47:00 · 335 阅读 · 0 评论 -
集成滴滴打车SDK
主要是调用了滴滴打车的SDK来进行首先是要去官网申请账号 这里由于是Demo因此不做这方面了http://open.xiaojukeji.com/接着是配置环境 首先将下载的SDK导入配置plist环境变量 由于滴滴打车用的是微信支付,因此需配置微信配置成数组随后是隐私服务,定位是属于隐私服务的还有事ios9之后的http通信这样就配置完毕了 由于加入的框架是O原创 2016-05-23 16:32:37 · 13933 阅读 · 1 评论 -
好书app中用到的常用第三方库的总结
在好书app中有很多常用的第三方库,自己总结一下在以后的项目中也可以应用shareSDK主要是一个分享功能,可以分享到微信,qq等,主要是要去看他的官网,注册app即可HZPhotoBrower主要是图片放大的时候用到的 在点击图片的时候可以放大图片,可以选择放大图片时只有一张,或者轮播,有好几张 随后设置当前是在第几张还要设置代理,和代理实现的方法//实现图片点击时的放大原创 2016-02-26 19:47:48 · 1018 阅读 · 0 评论 -
对于好书APP的总结
好书这个APP感觉学到非常多吧 所以好好总结一下设置文本textView的不可编辑性self.bookTextView?.editable = false用闭包回传值 首先定义闭包//实现回调 用闭包typealias Push_TitleCallBack = (title:String) -> Void定义回调var callBack:Push_TitleCallBac原创 2016-02-25 22:03:52 · 1266 阅读 · 0 评论 -
sqlite数据库的一些操作和core data的操作
应用程序接口的解释http://www.xuebuyuan.com/321813.html打开数据库的一些操作sqlite3_open创建数据库表sqlite3_exec关闭数据库 sqlite3_closeif sqlite3_open(path, &db) != SQLITE_OK { print("error") }原创 2016-02-09 21:18:09 · 1131 阅读 · 0 评论 -
ios中的动画
今天好好整理下ios中用到的动画首先是UIViewAnimation动画 首先是最传统的方法 也是苹果建议的方法UIView.animateWithDuration(2.0, delay: 0.0, options:[UIViewAnimationOptions.CurveEaseIn,UIViewAnimationOptions.Repeat], animations: { () -原创 2016-02-29 21:22:35 · 438 阅读 · 0 评论 -
istudy学生端项目的总结(一)
快做了三个月了,现在好好来总结一下自己做的第一个项目,istudy,虽然还没做完,现总结一部分吧swift中正则表达式的应用,正则表达式,主要是应用在对于邮箱,手机,QQ号等一些字符串的处理上的首先定义正则表达式 struct RegexHelper { let regex: NSRegularExpression init(_原创 2016-05-17 18:43:07 · 2019 阅读 · 0 评论