![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS基础技术
文章平均质量分 73
苹果真的只是平果
天天陪着你的才是最爱你的,与代码交往才不会争吵
展开
-
Objective-C是动态运行时语言的个人理解
以前开发时没有特别注意这些细节问题,今天突然被问到,一下子懵圈了,经过一番查找和比较,再加上小编的理解终于是了解的差不多了,现在分享给大家!1、什么是动态语言?动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C原创 2016-01-15 18:02:28 · 4575 阅读 · 2 评论 -
FMDB的简单使用
简介数据持久性存储 增删改查操作必须先有数据库和表格数据库创建在沙盒路径的Documents文件夹下数据库的后缀名一般可以是 .db或者 .sqlite数据库要想使用必须确保数据库处于打开的状态数据库中的同名表格只能创建一个 1、创建数据库以及创建表格//在沙盒路径下创建数据库 NSHomeDirectory() N原创 2016-02-18 22:22:09 · 270 阅读 · 0 评论 -
iOS多线程简介
1、简介:1.1 iOS有三种多线程编程的技术,分别是:1.、NSThread 2、Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue的使用)3、GCD 全称:Grand Central Dispatch( iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用)这三转载 2016-03-10 17:11:43 · 221 阅读 · 0 评论 -
iOS property两种实现方法区别的简单介绍
在声明property属性后,有2种实现选择@synthesize编译器期间,让编译器自动生成getter/setter方法。当有自定义的存或取方法时,自定义会屏蔽自动生成该方法 @dynamic告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告然后由自己实现存取方法或存取方法在运行时动态创建绑定:主要使用在C原创 2016-03-10 17:32:27 · 405 阅读 · 0 评论 -
常用数据结构以及算法的简单介绍
常用的数据结构以及算法一、关于数据的几个概念 1、数据。是对客观事物的符号表示。在计算机科学是指所有能够输入到计算机中并能被 计算机程序处理的符号集合。包括数值、文字、图像、图像、音频、视频等形式。 2、数据项。所谓数据项就是数据中具有独立含义的、不可再分割的最小数据单位。是客 观实体一种特征的数据表示。 3、数据元素。是多个相关数据项的集,是一个客转载 2016-03-10 18:09:30 · 585 阅读 · 0 评论 -
iOS开发中static变量的三大作用
(1)先来介绍它的第一条也是最重要的一条:隐藏当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容 char a = 'A'; // global variable void msg() {转载 2016-02-26 10:51:48 · 5416 阅读 · 0 评论 -
自动释放池详解
内存管理简介当您向一个对象发送一个autorelease消息时,Cocoa就会将该对象的一个引用放入到最新的自动释放池。它仍然是个正当的对象,因此自动释放池定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域结束的位置时,自动释放池就会被释放,池中的所有对象也就被释放。 1. ojc-c 是通过一种"referring counting"(引用计数)的方式来管理内存的, 对象在原创 2016-02-26 10:57:39 · 401 阅读 · 0 评论 -
iOS MVC和MVVM简单介绍
iOS中的MVC(Model-View-Controller)将软件系统分为Model、View、Controller三部分Model: 你的应用本质上是什么(但不是它的展示方式)Controller:你的Model怎样展示给用户(UI逻辑)View:用户看到的,被Controller操纵着的Controller可以直接访问Model,也可以直接控制View。但Mo原创 2016-02-26 11:11:15 · 920 阅读 · 0 评论 -
iOS类别和类扩展
在iOS中,有一种机制可以使用户在没有远吗的情况下扩展类的功能,但不是通过继承,这就是类别。iOS中没有类似C++中可以定义私有方法和私有变量的关键字,要定义私有方法和私有变量,可以用类扩展来实现。 类别 类别在不需要继承的情况下可以扩展类的功能。但类别不能添加类的属性和私有变量。类别可以用来扩展Cocoa中类的方法,也可以用来扩展用户自己的类中的方法。当我们查看系统头文件的时候能发现原创 2016-02-26 11:23:13 · 594 阅读 · 0 评论 -
被误解的MVC和被神化的MVVM
这篇文章很早就看到了,但是一直没有转过来,可是最近面试中多次遇到MVVM的问题,所以把唐boy的这篇文章拿来与大家分享。被误解的 MVCMVC 的历史MVC,全称是 Model View Controller,是模型 (model)-视图 (view)-控制器 (controller) 的缩写。它表示的是一种常见的客户端软件开发框架。MVC 的概念最早出转载 2016-03-11 16:02:44 · 587 阅读 · 0 评论 -
KVC&&KVO
Key-Value Coding (KVC)KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。一个对象拥有某些属性。比如说,一个 Person 对象有一个 name 和一个 address 属性。以 KVC 说法,Person 对象分别有一个 value 对应他的 n原创 2016-02-26 18:46:15 · 314 阅读 · 0 评论 -
Cocoa Touch事件处理流程--响应者链
一、事件分类对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。对应的事件类型有以下三种:1、触屏事件(Touch Event)2、运动事件(Motion Event)3、远端控制事件(Remote-Control Event)今天以触屏事件(Touch Event)为例,来说明在Cocoa Touch框架中,事件转载 2016-02-26 18:53:09 · 318 阅读 · 0 评论 -
一种iOS7 设置隐藏状态栏的方法
- (UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent;}- (BOOL)prefersStatusBarHidden{ return YES/NO;}//需要刷新时调用原创 2016-02-18 14:54:40 · 277 阅读 · 0 评论 -
饿汉单例和懒汉单例
//懒汉式public class A{ public static A a = null; public A(){ } public A getInstance(){ if(a==null){ return new A();原创 2016-02-18 14:41:40 · 314 阅读 · 0 评论 -
iOS两种官方的单例模式写法
不使用GCD #import "ServiceManager.h"static ServiceManager * defaultManager;@implementation ServiceManager + (ServiceManager * )defaultManager { if ( ! defaultManager)原创 2016-02-18 14:36:02 · 244 阅读 · 0 评论 -
iOS内存管理之@property属性详解
@property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法。在Xcode4.5以及以后的版本,@synthesize可以省略。1、atomic与nonatomicatomic:默认是有该属性的,这个属性是为了保证程序在多线程情况,编译器会自动生成一些互斥加锁代码,避免该变量的读写不同步问题。当一个变量声明为atomic时,意味着在多原创 2016-01-18 15:28:46 · 403 阅读 · 0 评论 -
iOS与js交互之如何执行自定义操作
在上一家公司开发项目时遇到这样一个问题,技术总监让我把h5写好的界面加载到项目中,并且在点击h5页面上执行另外的操作,而不是h5写好的方法,于是我就用了下面这个方法,完美解决了问题!- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationT原创 2016-01-08 13:08:13 · 252 阅读 · 0 评论 -
HexString类型的颜色的使用
HexString类型的颜色可能对于老程序员来说是小菜一碟,但是对于初入程序界的小菜可能就有点难攻了,下面就简单介绍大家一个方法:1.首先新建一个方法类:UIColor+MGFoundation2.在.h文件中声明这样一个方法+ (UIColor *)colorWithHexString:(NSString *)stringToC原创 2016-01-08 13:11:37 · 2474 阅读 · 0 评论 -
Objective-C 基础开发详解
对于最近才加入博客大家族的我,趁现在时间富裕,决定带着大家一起来撸一遍Objective-C。言归正传,直接上代码:上代码之前,先做点简单的铺垫//在 iOS工程中:// .m是oc 的后缀// .c是c 语言的后缀。// .cpp是c++的后缀// .mm兼容oc,c和c++的后缀// import和include具有相同的原创 2016-01-10 11:55:40 · 374 阅读 · 0 评论 -
NSDictionary&& NSMutableDictionary使用
认识字典 字典是用存储键值对的数据结构;每一个键对应一个值,在一个字典中,键是唯一的,值可以重复。值才是目的,键是手段(为了可以快速的获取值)key : valuekey和value都可以是任意类型的对象,但是我们的key一般使用字符串//数组中元素是有顺序的,字典中的元素没有顺序字典也分为可变字典和不可变,(可变指字典的大小可变,字典的元素可变)原创 2016-01-11 16:35:32 · 329 阅读 · 0 评论 -
小明交换牌(C语言版)
小明交换牌//小明和牌:名字人:左手和右手 牌:花色和数字// 交换:动词 动作:把左手牌给右手,把右手的牌给左手交换前:左手有一张牌、右手有一张牌(抓牌)C语言中可以把名词封装成结构体、动词封装成函数代码:#include //创建一个牌的结构体typedef struct Poker原创 2016-01-11 16:51:22 · 728 阅读 · 0 评论 -
@property属性修饰符
1.读写性修饰符:readwrite | readonlyreadwrite:表明这个属性是可读可写的,系统为我们创建这个属性的setter和getter方法。readonly:表明这个属性只能读不能写,系统只为我们创建一个getter方法,不会创建setter方法2.setter相关修饰符:assign | retain | copy setter相关的修饰符原创 2016-01-11 17:11:25 · 339 阅读 · 0 评论 -
数据解析
json和xml开发中出现频率:json 95% xml 5%json(对于xml) 轻便,在服务器到客服端传输速率高,信息的冗余(没有必要的重复)低 ,缺点就是可读性低(但是可以通过第三方的工具解决)xml(对于json)可读性 缺点:信息的冗余度高,在服务器到客服端传输速率低xml解析常见:plist文件,XIB,网易新闻,原创 2016-01-11 17:28:01 · 237 阅读 · 0 评论 -
NSString 常用方法
一、NSString初始化(创建)1、//最简单粗暴创建方式 NSString * str = @"hello world"; //创建了一个字符串,@"hello world"返回了一个地址,h的地址2、//使用一个字符串去初始化另外一个字符串 NSString * str1 = [[NSString alloc] initWithString:st原创 2016-01-11 12:05:03 · 294 阅读 · 0 评论 -
NSArray&& NSMutableArray使用
认识数组1、C的数组用来存储基本类型或者是复合类型的数据。OC的数组是专门用来存储对象的,并且不能用来存储基本数据类型;OC中C数组和OC协同合作2、C的数组中存的是相同类型的数据。OC的一个数组可以存储多种类的对象,OC数组的每个元素实质是存储一个对象的地址3、OC的数组分为可变数组和不可变数组,这里的可变是指数组大小和数组中每个元素的顺序可变一、数组原创 2016-01-11 12:43:08 · 280 阅读 · 0 评论 -
UILabel的使用及常用属性的设置
//初始化 UILabel * label = [[UILabel alloc] init]; //给label固定位置和大小(UI控件如果没有显示出来,很有可能就是没有给frame赋值) label.frame = CGRectMake(100, 100, 200, 50); //tag值是label在外部被调用的唯一标识原创 2016-01-13 11:50:04 · 308 阅读 · 0 评论 -
iOS 时间戳与时间互换
//设置时间显示格式: NSString* timeStr = @"2011-01-26 17:40:50"; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateStyle:NSDateFormatterMediumStyle]; [f原创 2016-02-26 19:06:49 · 295 阅读 · 0 评论