IOS学习笔记
文章平均质量分 55
武睿傲雪
喜欢在CSDN专业的技术论坛上提问题并解决问题
展开
-
在.m中的@interface
//in Header.h@interface Header{}@end//in Header.m@interface Header()@end这是个非常常见的设计,为什么在.m文件里面,也要出现一个接口声明呢?这很类似于一个分类,但其实它不是一个分类(或者你也可以叫它anonymous Catogary),其实这是一个叫做class extension的东西转载 2016-03-29 23:31:30 · 472 阅读 · 0 评论 -
storyboard之 prepareForSegue:sender:
在谈到storyboard时,我们多次强调, storyboard 解决的是页面之间的跳转问题。 一个颇为复杂的页面跳转,一旦使用了storyboard,就会四两拨千斤。你只需简单地拖拽,即可完成UIViewController 之间的跳转。 这里面有个神器,一个极为重要的method,它就是: prepareForSegue:sender:从method 简略的表达式,一眼就可看转载 2016-04-23 01:13:43 · 411 阅读 · 0 评论 -
基于工作空间框架实现的iOS分层架构实现
iOS分层架构简介在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领域引入到计算机科学的。设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类或对象来描述其中的关系和相互作用,但不涉及转载 2016-04-23 20:03:26 · 500 阅读 · 0 评论 -
使用SQLite3存储和读取数据
SQLite3是嵌入在iOS中的关系型数据库,对于存储大规模的数据很有效。SQLite3使得不必将每个对象都加到内存中。基本操作:(1)打开或者创建数据库sqlite3 *database;int result = sqlite3_open("/path/databaseFile", &database);如果/path/databaseFile不存在,则创建它,否则转载 2016-04-24 10:26:19 · 3114 阅读 · 0 评论 -
sqlite常用语法 增删 修改 例子
例子:有个学生类数据库studentDb.sqlite,使用sqlite进行增减修改操作一般时候想要操作数据库,需要先建立连接。我先新建一个Db类作为数据连接类(Db*)在做以前一定要先导入libsqlite3.dylib框架 拽进studentDb.sqlite文件*********Db.h#import#import //导入数据库文件@interface Db :转载 2016-04-24 10:42:13 · 673 阅读 · 0 评论 -
iOS-生成Bundle包-引入bundle-使用bundle
在我们使用第三方框架时,常常看到XXX.bundle的文件。我们找到该文件,显示包内容,大致看到很多资源文件:图片、配置文本、XIB文件……什么是Bundle文件?简单理解,就是资源文件包。我们将许多图片、XIB、文本文件组织在一起,打包成一个Bundle文件。方便在其他项目中引用包内的资源。Bundle文件的特点?Bundle是静态的,也就是说,我们包含到包中转载 2016-06-27 02:03:42 · 419 阅读 · 0 评论 -
[iOS开发]关于cocoapods的使用
CocoaPods的使用关于CocoaPods,相信做iOS开发的应该都比较熟悉了。Cocoapods是一个用来管理第三方库的比较好用的管理工具。关于Cocoapods的东西不再多说,接下来进入正题。我的软件版本如下:Xcode版本为 7.3.1CocoaPods版本为 1.0传送门在此[TOCM]使用终端进行管理查询库的命令转载 2016-07-16 16:22:30 · 271 阅读 · 0 评论 -
IOS Sqlite3 获取自增长ID
当我们在sqlite数据库中插入一条自增长的数据后,我们想获得自增长的ID的值,以便对数据进行修改等其他操作。这时我们就会想到能不能像ADO.NET里面使用int newid=resultset.executenoquery()获得执行返回的值呢,这样是可以的。方法一:有时候我们看可不可以,我们可以通过在数据的Query里进行验证SQL语句是这样的“insert语句;select last_i原创 2016-07-06 12:19:33 · 3189 阅读 · 0 评论 -
IOS 同步异步请求JSON数据
IOS SDK为HTTP请求提供了同步和异步两种请求这种不同的API,而且可以使用Get或POST等请求方法。1.同步Get请求在贴代码之前先对项目有个整体的说明:如图所示 首先新建Master-Detail Application类型项目,我们可以看到会自动帮我们新建一些类,然后通过手动添加NSString_URLEncoding.h和NSNumber+Message.h类库主要用于对URL原创 2016-07-08 02:21:42 · 2381 阅读 · 0 评论 -
IOS使用MKNetworkKit框架实现下载数据和上传数据
MKNetworkOperation类不仅可以指定下载文件的位置,还可以获得下载的进度,由于它采用整个应用共享单一队列的设计,所以可以准确地计算下载进度。话不多说,下面通过一个例子来说明下载数据和上传数据。 MKNetworkKit框架的下载地址:框架下载地址下载数据项目的配置如图所示: 首先新建一个SimpleViewApplication的项目,添加MKNetworkKit库文件到项目中原创 2016-07-09 02:58:09 · 2000 阅读 · 0 评论 -
用MKNetWork来Post一个XML字符串
这个MKNetWork框架是挺好用的,但是关于这个XML字符串的Post相关资料就比较少了,我找了好久才找到一个方法,贴出来,以后说不定会用到。[objc] view plain copy -(MKNetworkOperation *)PosNetWorkWithHostName:(NSString *)hostName AndURLID:(NS转载 2016-07-29 23:32:03 · 325 阅读 · 0 评论 -
iPhone实现XML的POST传递并接收数据
本文介绍对是iPhone实现XML的POST传递并接收数据,主要是向服务器端传递一个xml数据流,服务器端接受数据并返回一个xml数据类型。AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验iPhone实现XML的POST传递并接收数据是本文要介绍的内容,文章是基于代码实现,在iphone开发中,经常会遇到和服务器端交互数据,下面代码转载 2016-07-30 01:04:59 · 384 阅读 · 0 评论 -
storyboard页面转跳
在谈到storyboard时,我们多次强调, storyboard 解决的是页面之间的跳转问题。 一个颇为复杂的页面跳转,一旦使用了storyboard,就会四两拨千斤。你只需简单地拖拽,即可完成UIViewController 之间的跳转。 这里面有个神器,一个极为重要的method,它就是: prepareForSegue:sender:从method 简略的表达式,一眼就可看出, 它有转载 2016-04-23 01:23:43 · 393 阅读 · 0 评论 -
iOS中storyboard故事板使用Segue跳转界面、传值
摘要:在iOS的开发过程中,不可避免的要设计界面,在android中有xml设置界面和直接使用java代码设置界面控件两种方式,在之前的ios开发中也是类似的有xib文件设置界面及用代码直接设置控件两种方法,但后来又出了一种方式,就是storyboard故事板子,其实storyboard和xib文件很像,最大的不同之处在于一个xib文件对应一个ViewController视图控制器,而st转载 2016-04-21 00:11:05 · 1106 阅读 · 0 评论 -
[ios] Storyboard里面的几种Segue区别及视图的切换
Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom一、视图切换类型介绍在storyboard中,segue有几种不同的类型,在iphone和ipad的开发中,segue的类型是不同的。在iphone中,segue有:push,modal,和custom三种不同的类型,这些类型的区别在与新页面出转载 2016-04-20 17:14:24 · 708 阅读 · 0 评论 -
对自定义UITableViewCell的理解
自定义UITableViewCell有两种方法:1.较早版本 子类UITableViewCell 并利用xib构造2.利用storyboard直接自定义cell1.利用xib设计好自定义的cell并且连接好控件后 有两种方法引用我们自己的cell方法1:-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtInde转载 2016-05-01 03:48:28 · 328 阅读 · 0 评论 -
iOS开发中@property的属性weak nonatomic strong readonly等介绍
@property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法。在Xcode4.5以及以后的版本,@synthesize可以省略。1.atomic与nonatomicatomic:默认是有该属性的,这个属性是为了保证程序在多线程情况,编译器会自动生成一些互斥加锁代码,避免该变量的读写不同步问题。nonatomic:如果该对象无需考虑多线程的情况,请加入转载 2016-03-29 23:49:55 · 368 阅读 · 0 评论 -
事件的响应和对象的引用——outlet和action
什么是outlet:outlet实际上时对控件对象的引用。不像Android开发,你拖一控件到可视化设计器上,IDE自然会帮你在layout文件上添加一个该控件的标签。然后你就可以操作该对象。xcode不会这么做,当你拖一个控件(如Label)到storyboard上,你只能看见它,不能对它进行操作。这个时候的Label对象就像一个无人认领的孤儿,你想对它进行操作,就必须向outlet求助。如转载 2016-03-30 00:39:01 · 763 阅读 · 0 评论 -
深入理解Objective-c中@class的含义
objective-c中,当一个类使用到另一个类时,并且在类的头文件中需要创建被引用的指针时, 如下面代码: A.h文件#import "B.h" @interface A : NSObject { B *b; } @end 为了简单起见:A类是引用类,B类是被引用类,这里先不考转载 2016-03-30 14:54:59 · 375 阅读 · 0 评论 -
Transitioning to ARC Release Notes
Automatic Reference Counting (ARC) is a compiler feature that provides automatic memory management of Objective-C objects. Rather than having to think about retain and release operations, ARC allows y转载 2016-03-22 23:06:57 · 665 阅读 · 0 评论 -
苹果Xcode帮助文档阅读指南
一直想写这么一个东西,长期以来我发现很多初学者的问题在于不掌握学习的方法,所以,Xcode那么好的SDK文档摆在那里,对他们也起不到什么太大的作用。从论坛、微博等等地方看到的初学者提出的问题,也暴露出他们不知道很多他们的疑惑其实在文档里面写的非常清楚。而有时候当他们想从文档去找解决方案的时候,也往往找不到。或者有些人意识到了,阅读文档是学习的好办法,但是不得要领。中国的技术社区有一个很没意转载 2016-03-25 09:23:19 · 317 阅读 · 0 评论 -
NSPredicate
简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取。定义(最常用到的方法):[cpp] view plain copyNSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *), ...];转载 2016-04-11 23:19:31 · 339 阅读 · 0 评论 -
IOS中 Block简介与用法
Block简介:Block的实际行为和Function很像,最大的差别是在可以存取同一个Scope的变量值。Block实体形式如下:^(传入参数列){行为主体};Block实体开头是“^”,接着是由小括号所包起来的参数列(比如 int a, int b, int c),行为主体由大括号包起来,专有名字叫做block literal。行为主体可以用return回传值,类型会被compil转载 2016-04-12 10:40:36 · 318 阅读 · 0 评论 -
如何查看真机的沙盒(图文教程)
在iOS开发之沙盒机制(SandBox),我们了解到如何查看模拟器的沙盒内容。直接在Finder->前往->前往文件夹里输入: /Users/ligang/Library/Application Support/iPhone Simulator/这样就可以查看模拟器的沙盒内容。在平时开发中,我们应该大部分用的是真机测试。如果需要在沙盒里操作文件,那么我们可以通过观察真机沙盒的内容,来确转载 2016-04-26 01:51:32 · 625 阅读 · 0 评论 -
iOS学习之iOS沙盒(sandbox)机制和文件操作
1、iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。 1.1、每个应用程序都有自己的存储空间 1.2、应用程序不能翻过自己的围墙去访问别的存储空间的内容 1.3、应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行转载 2016-04-26 01:40:06 · 437 阅读 · 0 评论 -
iOS开发数据库篇—SQLite简单介绍
一、离线缓存在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等。说明:离线缓存一般都是把数据保存到项目的沙盒中。有以下几种方式(1)归档:NSCodeing、NSKeyedArchiver(2)偏好设置:NSUserDefaults(3)Plist存储:writeToFile提示:上述三种方法都有一个致命的缺点,那就是都无法存储大批量的数据,有性能的问转载 2016-04-10 23:43:55 · 456 阅读 · 0 评论 -
在mac上用Xcode写程序, run的时候总是失败, 显示clang: error: linker command failed with exit code 1
问题:导入某个类文件出现:ld: × duplicate symbol for architecture ×××clang: error: linker command failed with exit code 1 (use -v to see invocation)用的是Mac OSX 10.8.2xcode 是 4.5.1不知道怎麼回事, 肯定不是我程序的问题而且换了其他原创 2016-04-28 22:10:38 · 1150 阅读 · 2 评论 -
Xcode中拖入资源弹出的窗口
如果将资源文件/文件夹拖入项目,那么会Xcode弹出一个窗口:Destination:意思是说是否要在项目目录下复制资源。如果选中Copy items if needed,那么在项目目录下(这是说的是真实目录,不是Xcode左侧那个),会拷贝一份与拖入的资源相同的资源。如果未选中,则不会进行拷贝,而是对拖入的资源进行引用。这与在代码中进行传值和传址很像。如果选中转载 2016-04-28 23:14:01 · 431 阅读 · 0 评论 -
使用RESTful Jersey框架搭建WebService,Hibernate框架访问数据库,MySQL存储数据
现在访问服务器数据的方式有很多种,主要有两种一个是通过JDBC连接数据库,访问数据库(直接访问),一种是通过将方法发布成服务通过wsdl或者客户端访问WebService(间接访问).本文就通过一种使用很方便地WebService框架Jersey,使用Hibernate框架访问数据库,Hibernate是轻量级框架,基本不需要写JDBC代码虽然Hibernate最后的实现使用的也是JDBC,SQL...原创 2016-08-09 00:54:46 · 2211 阅读 · 4 评论