iOS
IOT_Elon
这个作者很懒,什么都没留下…
展开
-
IOS-1-Objective-C-@property属性的使用及注意问题:@property(assign)int name;
句型公式:@property(assign)int name = 实例_name + 存储方法setName + 取值方法getName。原创 2015-07-28 19:25:28 · 1721 阅读 · 0 评论 -
IOS-3-Objective-C语言:单例设计模式
提要:单例设计模式需要重写父类的方法。因为全局实例不允许释放,所以和内存管理相关的retain,release,autorelease方法均需要重写,重写的目的就是避免对这个实例的内存方面进行操作,防止引用计数发生变化。原创 2015-08-07 15:53:28 · 750 阅读 · 0 评论 -
IOS-4-面试题1:黑马程序员IOS面试题大全
IOS-4-面试题1:黑马程序员IOS面试题大全原创 2015-08-10 09:12:21 · 1272 阅读 · 0 评论 -
IOS-5-面试题2:黑马程序员IOS面试题大全
我这里有黑马的面试题1、2讲解视频,要的请留言。原创 2015-08-10 09:31:32 · 1453 阅读 · 0 评论 -
IOS-7-纪念一下刚刚接到的第一份offer(以下是面试遇到的问题)
1.多线程技术有四种开启线程的方式,主要的为:NSThread、NSOpreation、GCD;例子:家在网络图片显示在手机界面上第一步:代码块开启异步子线程加载网络数据:[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue new] 第二步:加载完成之后,开启主线程,将数据放到主线程中进行处理:dispatch_async(dispatch_get_main_queue(), ^{ });原创 2015-08-24 19:49:11 · 809 阅读 · 0 评论 -
IOS-6-UI知识总结-1(代码添加控件、视图切换、多种传值方式)
UI知识总结-1(代码添加控件、视图切换、多种传值方式)原创 2015-08-24 17:45:27 · 1078 阅读 · 0 评论 -
IOS-2-C语言和Objective-C语言衔接学习资料
前言:在IOS学习中,一般会先学习一周的C语言,两周的Objective-C语言,这是今后开发的最基础最重要的部分,下面给大家分享一下培训课上的精简资料:C语言和Objective-C语言衔接学习资料,PPT格式,简单易懂,可迅速掌握。原创 2015-08-01 14:18:34 · 649 阅读 · 0 评论 -
iOS :undefined symbols for architecture x86_64
问题描述:为了适配iPhone 5s的64位处理器,在编译选项中加入了arm64架构。但是发现工程在真机上可以编译通过但是在模拟器上却未编过。问题解决:经研究在编译选项中再加入x86_64架构,重新编译工程就可以在模拟器上编译成功了.可以这样理解armv7 , armv7s对应真机的32位处理器,i386对应模拟器的32位模拟器;arm64对应真机的64位模拟器,x86_64对应模拟器的64位模拟器转载 2015-10-19 08:51:56 · 989 阅读 · 0 评论 -
IOS-17-百度地图开发经常出现的错误和注意点
1.自定义按钮响应路径查询时,onGetTransitRouteResult: 方法不执行。 解决办法:将route_searcher = [[BMKRouteSearch alloc]init];放在- (void)viewDidLoad {}方法中。 2.以下代码报错:transitRouteSearchOption.city= @"北京市"; transitRouteSearchO原创 2015-10-20 17:29:58 · 1421 阅读 · 0 评论 -
IOS-24-iOS动态库与静态库的区别及原理
动态库和静态库的区别库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 1. 静态函数库 这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译。2. 动态函数库 相对于静态函数库,动态函数库在编译的时候 并没有被原创 2015-11-06 18:03:07 · 3298 阅读 · 0 评论 -
iOS APP提交上架最新流程 (菜鸟级别的请进)
iOS APP提交上架最新流程 时隔1年又让我鼓捣iOS,刚接手就是上架,经验值为0的我,虽然内心是拒绝的,但还是要接受这项任务滴!也就是在被拒后重新审核,再改在提交。。。这样反复的过程中也对上架流程熟悉了好多,写篇帖子送给同为菜鸟的你,如果里面有很菜的东西,大牛请自动忽略,毕竟这也是还为菜鸟的我的备忘录呢!转载 2015-11-06 18:29:06 · 2443 阅读 · 0 评论 -
IOS-18-网络通信之Socket通信中服务端与客户端的实现
客户端工作流程:由于 iOS 设备通常是作为客户端,下文将演示如何编写客户端代码。先来总结一下客户端工作流程。1.客户端调用 socket(...) 创建socket;2.客户端调用 connect(...) 向服务器发起连接请求以建立连接;3.客户端与服务器建立连接之后,就可以通过 send(...)/receive(...)向客户端发送或从客户端接收数据;4.客户端调用 close 关闭 socket;原创 2015-10-21 16:50:58 · 3380 阅读 · 0 评论 -
IOS-19-数据库操作之(SQLite)的基础入门使用及demo源码
前言:苹果IOS操作系统较常用的数据库有两种:1.CoreData:苹果原生数据库,可视化编辑界面,易于后期不同开发人员维护,接触过Android的SQLite或者Sql语句的开发人员不太适应这种方式;2.SQLite:第三方类库,纯代码开发,语句简洁易懂,开发速度快,用的也比较多,而且一般基于第三方封装库进行开发更简单,详细请见另一篇博客:SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库。SQLite最初的设计目标是用于嵌入式系统,它占用资源原创 2015-10-23 16:39:17 · 1472 阅读 · 0 评论 -
IOS-20-数据库操作之(SQLite第三方封装库FMDB)的基础入门使用及demo源码
前言:苹果IOS操作系统较常用的数据库有两种:1.CoreData:苹果原生数据库,可视化编辑界面,易于后期不同开发人员维护,接触过Android的SQLite或者Sql语句的开发人员不太适应这种方式;2.SQLite:第三方类库,纯代码开发,语句简洁易懂,开发速度快,用的也比较多,本篇是基于常用的FMDB封装讲解的,原生的SQLite操作详细请见另一篇博客:IOS-19-数据库操作之(SQLite)的基础入门使用及demo源码iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便。原创 2015-10-23 16:55:21 · 1200 阅读 · 0 评论 -
IOS-25-xib由原来的UIViewController改为UIView后程序崩溃
郁闷了好长时间,终于解决了将这里都置空即可流程:选中xib------->选中最右上边“一个圆圈+一个朝右的箭头”图标-------->把里面的全部置空------->完毕原创 2015-11-09 17:15:48 · 533 阅读 · 2 评论 -
IOS-8-Xcode6 使用MJRefresh报错:Too many arguments to function call, expected 0, have 3
将XCode升级到6后,报Too many arguments to function call, expected 0, have *,在XCode5.1里能编译通过的,到xcode6就报错objc_msgSend(self.beginRefreshingTaget, self.beginRefreshingAction, self);Too many arguments to function call, expected 0, have *原创 2015-10-09 08:45:39 · 1925 阅读 · 0 评论 -
IOS-26-自定义Item控件在横竖屏运行时大小位置紊乱
原因:这是因为xib使用了自动布局,最好的解决办法就是在.m文件增加一段取消自动拉伸代码即可:@implementation MTHomeTopItem+(instancetype)item{ return [[[NSBundle mainBundle]loadNibNamed:@"MTHomeTopItem" owner:nil options:nil]firstObject];}-(void)awakeFromNib{ self.autoresizingMask = UI原创 2015-11-10 15:49:23 · 567 阅读 · 0 评论 -
ios之UITabBarItem显示真实自定义的图片而非颜色填充
通过以上代码设置就把4个item的图片设置好了当然也可以分别在对应的controller中进行相应地设置,不过建议统一设置修改起来比较省事,如果需要在item点击有很炫的动画或是其他样式,那就需要高度自定义才能实现转载 2015-10-10 18:57:47 · 1050 阅读 · 0 评论 -
IOS开发之绝对布局和相对布局(屏幕适配)
1.用绝对布局来实现上述效果,为了节省我们代码编写的时间,上面的控件是通过storyborad来实现的,然后在对应的ViewController里添加组件和控件回调的方法,主要是在slider滑动的时候来获取slider的值,然后动态的设置上面View的frame坐标(当然,如果让view往四周扩展得计算一下新的fram的值,然后动态的修改),上面的view位置和大小改变了,那么下面的view不能被上面的覆盖掉,所以也得修改blackView的fram的值。这种通过修改frame的值的方式来确定组件位置即为转载 2015-10-10 18:54:43 · 1421 阅读 · 0 评论 -
IOS-9-UIBarButtonItem导航条-添加自定义Left或者Right按钮
//自定义一个导航条右上角的一个button UIImage *issueImage = [UIImage imageNamed:@"btnpressed.png"];self.issueButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; self.issueButton.frame = CGRectMake(0, 0, 54, 30); [_issueButton setBackgroundImage:issue原创 2015-10-10 19:53:57 · 9026 阅读 · 1 评论 -
使用通知机制,在dismissViewControllerAnimated后,completion传值给上一个父视图方法
dismissViewControllerAnimated后,completion传值给上一个父视图方法视图firstView和secendView,点击firstView上面的按钮presentviewcontroller出secendView;secendView上有个按钮,点击按钮dismissViewControllerAnimated,并将某个值传给firstView,或不直接在firstView里面的viewWillAppear里面调用方法,而是直接通过在dismissViewControll转载 2015-10-13 09:01:36 · 1291 阅读 · 0 评论 -
总结:get,put,post,delete含义与区别
POST /uri 创建 DELETE /uri/xxx 删除 PUT /uri/xxx 更新或创建 GET /uri/xxx 查看转载 2015-10-12 11:21:29 · 774 阅读 · 0 评论 -
iOS开发之ARC MRC混编
Xcode5之后,新建iOS工程,默认都是ARC模式,但是有时候我们的项目中需要用到一些第三方框架,我们下载下来却发现是非ARC的,这时候我们需要进行ARC和MRC混编。第一种方式,Edit->Refactor,转换成ARC方式转载 2015-10-13 14:09:23 · 670 阅读 · 0 评论 -
IOS-14-IOS支付宝集成与成功掌握
奋斗中的猿们,从零让你掌握支付宝开发!来吧!首先呢 我们先于支付宝签约,获得商户ID (partner) 和账号ID (seller) 、还有私匙这些使我们iOS集成支付所需要的, 再去支付宝开放平台(支付宝)下载支付宝的iOS SDK,然后我们把一些相关的类库文件导入到我们的项目当中如下图;我们先导入4个静态库文件到项目中。原创 2015-10-14 17:02:04 · 649 阅读 · 0 评论 -
IOS-21-UI懒加载概念及原理
1.懒加载基本懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法.注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化2.使用懒加载的好处:(1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强(2)每个控件的getter方法中分别负责各自的实例化处理,代原创 2015-10-28 11:21:52 · 801 阅读 · 0 评论 -
IOS-22-XMPP(1)官方demo登录报错:iPhoneXMPPAppDelegate: xmppStream:didNotAuthenticate:
搞了整整一上午,终于搞定了。问题:我的openfire服务端在另一台电脑上,然后在这台电脑登录时失败,报错如下:解决办法:需要在客户端电脑上配置一下服务端的ip域名:1.打开终端,输入:sudo vi /etc/hosts ---->回车键----->输入密码------>回车出现如下图(这里的10.0.92.250是我之前配好的,可忽略):2.在255.255.255.255的前面:先输入一个“i” --------> 添加一个服务端的IP地址“10.0.92.250”,空格后,添原创 2015-10-29 11:41:27 · 1476 阅读 · 0 评论 -
IOS-10-详谈OC(object-c)深浅复制/拷贝-什么情况下用retain和copy,mutableCopy
浅 复 制:在复制操作时,对于被复制的对象的每一层复制都是指针复制。 深 复 制:在复制操作时,对于被复制的对象至少有一层复制是对象复制。 完全复制:在复制操作时,对于被复制的对象的每一层复制都是对象复制。原创 2015-10-14 11:24:41 · 754 阅读 · 0 评论 -
IOS-12-关于GCD多线程:dispatch_async 与 dispatch_get_global_queue 的使用方法
使用GCD的一个理由就是方便。回想一下以前的多线程编程,我们会把异步调用的代码放到另外的一个函数中,并通过NSThread开启新线程来启动这段代码。 这种跳来跳去的流程对于复杂的逻辑简直就是一场灾难。更糟糕的是,调用线程时的环境对异步代码是不可见的,如果我们需要当时的临时变量的话只有两个选择: 保存到类成员变量中或者作为参数传递过去。前者会造成很多莫名奇妙的无关类成员,而后者的功能过于有限。原创 2015-10-14 14:04:01 · 1198 阅读 · 0 评论 -
IOS-28-对ios的webservice理解
很多人会问webservice是啥东西?在网上找了很多资料,可以说百花齐放。我的理解是:webservice就是服务端的一个API接口,客户端通过苹果自己的访问方式、第三方访问方式。post、get方式,URLConnection、第三方框架AFNetworking、ASI与服务端交互。返回的数据看看服务端:json,xml,soap等原创 2015-11-14 15:43:56 · 526 阅读 · 0 评论 -
IOS的空指针和野指针
一、什么是空指针和野指针1.空指针1> 没有存储任何内存地址的指针就称为空指针(NULL指针)2> 空指针就是被赋值为0的指针,在没有被具体初始化之前,其值为0。转载 2015-11-14 13:56:04 · 2030 阅读 · 0 评论 -
IOS-27-iOS/OS X内存管理:基本概念与原理/内存泄露分析
在Objective-C的内存管理中,其实就是引用计数(reference count)的管理。内存管理就是在程序需要时程序员分配一段内存空间,而当使用完之后将它释放。如果程序员对内存资源使用不当,有时不仅会造成内存资源浪费,甚至会导致程序crach。我们将会从引用计数和内存管理规则等基本概念开始,然后讲述有哪些内存管理方法,最后注意有哪些常见内存问题。原创 2015-11-14 13:52:06 · 684 阅读 · 0 评论 -
IOS-11-关于AFNetworking访问网络超时的设置
前言:有的猿会发现在设置AFNetworking访问网络超时时,直接用self.manager.requestSerializer.timeoutInterval =10.f不起作用。解决办法:经过查找资料得知,需做以下设置: // 设置超时时间 [manager.requestSerializer willChangeValueForKey:@"timeoutInterval"]; manager.requestSerializer.timeoutInterval = 10.f;原创 2015-10-14 13:22:40 · 3922 阅读 · 0 评论 -
IOS-13-XML解析代码(标准版)_另附XML和JSON均解析为字典数据源代码
首先说一下,在IOS中XML解析和在Android中的SAX或者Pull解析差别不大,都是基于事件的解析方式。我之前在安卓上用DOM解析了一个XML数据,现在用以下方式在IOS上又重新做了一遍,解析成普通、JSON两种数据格式,总终的结论就是:无论是服务端还是客户端JSON最好用,而且性能好!原创 2015-10-14 14:27:06 · 639 阅读 · 0 评论 -
IOS-15-IOS支付宝集成时解决的3个蛋疼的问题!(最蛋疼的一次,希望你们少受折磨)
问题:如果遇到运行后报错,类似于以下提示信息:Cannot find interface declaration for 'NSObject', superclass of 'Base64'解决办法:那么需要打开报错了的文件,增加头文件。#import <Foundation/Foundation.h>原创 2015-10-14 18:57:52 · 1016 阅读 · 0 评论 -
IOS-29-Hybrid混合开发(一):OC调用JS的方法的使用:stringByEvaluatingJavaScriptFromString
使用场景:用于native页面对JS(HTML)页面元素的修改或获取相关信息使用stringByEvaluatingJavaScriptFromString方法,需要等UIWebView中的页面加载完成之后去调用。我们在界面上拖放一个UIWebView控件。在Load中将googlemobile加载到这个控件中,代码如下:原创 2015-11-20 11:35:39 · 1083 阅读 · 0 评论 -
IOS-30-Hybrid混合开发(二):实现javaScript页面与OC界面互调demo(iOS7之前与之后javascriptCore.framework)
demo链接:http://download.csdn.net/detail/iot_li/9287675 前言:之所以会整理这份博文,是因为这两天安排我调研一下Hybrid混合开发,如何实现UIWebView页面与native界面互相调用,在此期间查了很多资料,问了两个学长,知识点比较零散,所以在此我集中整理了iOS7之前和之后的两种实现方法,供大家参考,欢迎提出博文中的不妥之处。 说明:该链原创 2015-11-21 09:22:34 · 1935 阅读 · 1 评论 -
IOS-16-支付宝开发:商家签约流程与私钥公钥等获取
1.商家签约:得需要公司的营业证件照之类的东西。具体流程请点击:点击链接2.私钥、公钥、商家ID等获取注意:私钥、公钥是成对出现的,客户端与服务端需要它们两个进行比对。项目需要,需要在客户端集成支付宝接口。就研究了一下:因为使用支付宝接口,就需要到支付宝官网:注册帐号,并申请。下面讲的是申请好之后的操作。登录成功之后, 店家我的商家服务—在页面的下方找到——>签约管理—>找打 移动支付—–>点击下载集成文档—>跳到新的页面,在页面下方—>找到下载开发包,下载移动支付即可。然后解压出来之后一般会得原创 2015-10-15 16:20:17 · 3544 阅读 · 0 评论 -
IOS-23-Xcode6.4里UITableView不显示的可能原因及解决办法
1.必需设置以下三个方法,返回不能为“0”,显示几“组”数据:2.有的不需要设置代理,有的需要设置代理才行,下面是设置代理:原创 2015-10-31 15:37:28 · 840 阅读 · 0 评论 -
IOS-31-xib两控件宽度水平平分时添加约束的办法
有这种可视化界面来布局真是太方便了,不想Android一样,屏幕适配问题急的能让你作死,xib两控件宽度水平平分时添加约束的办法:设置3个红线处即可原创 2015-11-23 13:27:55 · 7149 阅读 · 0 评论 -
IOS-40-测试环境与正式环境的代码通过标示符来区分
请看代码:/** * 基础api接口,大部分接口均在此文件中 */#ifndef TLDBaseApiUrls_h#define TLDBaseApiUrls_h#endif /* TLDBaseApiUrls_h */#import "TLDDefines.h"/** * ********************************* 测试环境 *************原创 2015-12-10 10:20:39 · 3685 阅读 · 0 评论