
编程 oc
文章平均质量分 56
一个IT大叔的内心独白
职业:2000米高空无伞空降跳伞后备运动员.
简介: 本人擅长AI、FW、FL、BR、AE、PR、ID、PS等软件的安装与卸载,精通CSS、JS、PHP、C、C++、Java、Ruby、OC、Python等单词的拼写,熟悉Windows、linux、MacOS、iOS等系统的开关机。 拼搏于软件设计、网站建设与IT教育行业的第一战线。一个外表冷酷内心也冷酷的IT大叔~
展开
-
iOS 8 新特性总结
1.sizeClass 的推出:在 iOS 8 中,Apple 的工程师们可以说“极富想象力”地干脆把限制和表征屏幕尺寸的长宽数字给去掉了,取而代之使用 size classes 的概念,将长宽尺寸按照设备类型和方向归类为 regular 和 compact 两类。通过为不同的设备定义尺寸分类,用来定义同类型的操作特性,这使得开发者更容易利用一套 UI 来适配不同的屏幕。2. Cloud原创 2015-12-02 11:55:30 · 675 阅读 · 0 评论 -
循环引用问题
3-循环的retain 问题人有宠物:狗狗有主人:人那么使用在使用两个类时,再用 #import相互导入 就会有问题,需要使用 @class但是当两个类都要引用对方的对象进入自己的类做属性时,内存泄露的另一种情况。解决办法, 其中一个先释放(但是还有僵尸对象的问题)另一个解决办法是一个用 retain,一个用 assign. 在person.h中,定义原创 2015-08-18 23:12:38 · 752 阅读 · 0 评论 -
@property在内存管理中的参数问题
//// Created by wanghy on 15/8/14./////* retain : release旧值,retain新值(用于OC对象),要配合nonatomic使用。 assign : 直接赋值,不做任何内存管理(默认,用于非OC对象类型) copy : release旧值,copy新值(一般用于NSString *) 控制需不需生成set方法原创 2015-08-15 21:46:16 · 581 阅读 · 0 评论 -
iOS-开发日志-UIPageControl
UIPageControl1. numberOfPages // 设置有多少页 默认为0// 2) 设置页数 [pageControl setNumberOfPages:kImageCount];2. currentPage // 设置当前页[pageControl setCurrentPage:0]; 3. pageIndicatorTintColor /原创 2015-09-02 23:54:22 · 423 阅读 · 0 评论 -
Ios-UITableView
UITableView相关总结样式:UITableView内置了两种样式:UITableViewStylePlain(也就是一组) UITableViewStyleGrouped(多组) UITableViewDataSource,UITableViewDelegate>里的方法:tableView处理步骤#pragma mark 1.有多少组-(NSInteger)num原创 2015-09-02 23:07:56 · 458 阅读 · 0 评论 -
苹果API常用英语名词
苹果API常用英语名词0. indicating 决定1.in order to 以便2.rectangle bounds 矩形尺寸3.applied 应用4.entirety 全部5.technique 方法6.truncating 截短7.wrapping 换行8.string 字符串9.familiar style 简体10.The styled原创 2015-09-03 07:50:04 · 340 阅读 · 0 评论 -
IOS-开发日志-UILabel相关
UILabel属性1.text:设置标签显示文本。 2.attributedText:设置标签属性文本。 Ios代码 NSString *text = @"first"; NSMutableAttributedString *textLabelStr = [[NSMutableAttributedString alloc] initWithString:text]; [原创 2015-09-03 07:41:34 · 417 阅读 · 0 评论 -
IOS-开发日志-UIScrollView
UIScrollView1. contentOffset默认CGPointZero,用来设置scrollView的滚动偏移量。 // 设置scrollView的滚动偏移量 scrollView.contentOffset = CGPointMake(0, 200);2. contentSize默认CGSizeZero,用来设置scrollView的滚原创 2015-09-02 23:50:48 · 390 阅读 · 0 评论 -
iOS-开发日志-UIimageView
UIImageView属性 1.Image 设置图片,默认显示 UIImageView *_imageView = [[UIImageViewalloc]init]; _imageView.image = [UIImageimageNamed:@"me.png"]; 2.highlightedImage 设置高亮状态下显示的图片_imageView.h原创 2015-09-03 07:47:50 · 384 阅读 · 0 评论 -
O-C相关06:self和super关键字介绍——self关键字
self关键字介绍1、self和superOC原创 2015-08-04 12:46:49 · 439 阅读 · 0 评论 -
iOS-开发日志-UITextView介绍
UITextView属性1. text: 设置textView中文本_textView.text =@"Now is the time for all good developers to come toserve their country.\n\nNow is the time for all good developers to come toserve their原创 2015-09-02 23:29:06 · 406 阅读 · 0 评论 -
IOS-开发日志-UITextField属性
UITextField属性0. enablesReturnKeyAutomatically 属性默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的。1.borderStyle设置边框样式,只有设置了才会显示边框样式 text.borderStyle =UITextBorderStyleRoundedRec原创 2015-09-02 23:43:24 · 510 阅读 · 0 评论 -
iOS 9开发(适配)中需要注意的事项总结
前言:可以说,经过了 iOS 7 和 iOS 8 连续两次重量级的变革和更新,对普通的 app 开发者来说,iOS 9 SDK 略归于缓和及平静,新的 SDK 在 API 和整体设计上并没有发生像之前两个系统那样翻天覆地的改变。开发者们也正可以利用这个机会稍作喘息,在这一年里尽快熟悉和至少过渡到使用 iOS 8 SDK 的特性来构筑自己的 app (比如尝试使用 Size Class 和原创 2015-12-02 20:05:09 · 1190 阅读 · 0 评论 -
Xcode中实现ARC和MRC混编
1.在Xcode中打开项目文件2.选中项目名称3.在右侧选择build phass 选项卡4.选择 complite source 选项5.选择要支持MRC编译的.m文件,双击6.在弹出的框中输入:-fno-objc-arc7.编译一下,搞定原创 2015-11-26 13:35:03 · 4210 阅读 · 0 评论 -
IOS网络编程简单介绍
一、为什么要学习网络编程1.简单说明在移动互联网时代,移动应用的特征有:(1)几乎所有应用都需要用到网络,比如QQ、微博、网易新闻、优酷、百度地图(2)只有通过网络跟外界进行数据交互、数据更新,应用才能保持新鲜、活力(3)如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死水 移动网络应用 = 良好的UI + 良好的用户体验原创 2015-10-12 17:43:27 · 487 阅读 · 0 评论 -
UItextField常用方法
- (void)viewDidLoad { [superviewDidLoad]; // Do any additional setup after loading the view.#warning第一步:及时监听文本框的内容,决定登录按钮是否允许点击,第一种用通知,第二种方法:用target // 监听账户文本框的内容的改变原创 2015-09-17 14:26:57 · 375 阅读 · 0 评论 -
资源打包后项目中的文件
一.资源打包Assets.car1.如果部署版本>=8.0,并且图片被放入到Images.xcassets,图片打包之后会被放到Assets.car,并且是有对图片资源进行压缩.2.如果部署版本8.0,并且图片被放入到Images.xcassets,图片会被放到MainBundle里面,并且不会对图片进行压缩处理.3.如果图片是直接拖入项目当中,不管部署版本是多少,都会被放入到原创 2015-09-17 14:24:04 · 641 阅读 · 0 评论 -
应用程序名称的国际化
//1. 应用程序名称的国际化//* 案例:微信、微博等案例//- "微信"、"WeChat"//- "微博"、"Weibo"////* 演示步骤://1> 选中项目,添加对中文、英文的支持。选中项目在Localization下选择Language。//2> 在 info.plist中添加一个Bundle Display Name 的项,然后查看对应的原原创 2015-10-04 18:00:35 · 381 阅读 · 0 评论 -
autorelease 的基本使用
3-循环的retain 问题人有宠物:狗狗有主人:人那么使用 #import 就会有问题,需要使用 @class内存泄露的另一种情况解决办法, 其中一个先释放(但是还有僵尸对象的问题)另一个解决办法是一个用 retain,一个用 assign4-NSString 的内存管理问题1, NSString等Foundation框架中类的内存管理内存原创 2015-08-22 15:43:32 · 906 阅读 · 0 评论 -
UIImageView的图片拉伸
iOS 8:UIView Stretching设置使用小图片当变长输入框或类似QQ聊天文字背景效果时,需要拉伸图片。UIImage提供了三个可完成此任务的方法:resizableImageWithCapInsets:resizableImageWithCapInsets:resizingMode:stretchableImageWithLeftCapWidth:topC原创 2015-09-10 22:02:20 · 1170 阅读 · 0 评论 -
iOS-开发日志-UIButton
UIButton属性1.UIButton状态:UIControlStateNormal // 正常状态 UIControlStateHighlighted // 高亮状态 UIControlStateDisabled // 禁用状态 UIControlStateSelected // 选中状态 UIC原创 2015-09-03 07:52:07 · 356 阅读 · 0 评论 -
OC-手动内存管理
一.为什么要进行内存管理•移动设备的内存极其有限,每个app所能占用的内存是有限制的 ••下列行为都会增加一个app的内存占用Ø创建一个OC对象Ø定义一个变量Ø调用一个函数或者方法••当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间。比如回收一些不需要使用的对象、变量等••如果app占用内存过大Ø系统可能会原创 2015-08-15 20:31:30 · 515 阅读 · 0 评论 -
O-C相关05:方法的封装.
前言:在 OC 中进行封装, 就是实现设置实例变量和获取实例变量数据的方法, 常常称为 setter 方法和 getter 方法. 或称为 get set 读写器. 1,setter方法 setter 方法又叫设置器, 是为实例变量对外提供的统一访问规则, 用于设置实例变量的值. 一般在开发中, 禁止将实例变量直接暴露到外面. 通过 setter 方法可以为赋值操作进行必要的控制与原创 2015-08-03 23:13:05 · 438 阅读 · 0 评论 -
利用switch语句计算特定的年份的月份共有几天。
//利用switch语句计算特定的年份的月份共有几天。let year =2015let month =2//先判断闰年中二月份的情况ifmonth == 2{ if (year % 400 ==0||year %4 == 0 &&year % 100 !=0) //闰年的二原创 2015-08-13 23:05:33 · 3199 阅读 · 0 评论 -
OC多文件开发介绍
OC多文件开发介绍:1、为什么要使用多文件?在工作中,通常把不同的类放到不同的文件中,每个类的声明和实现分开,声明写在.h头文件中,实现写在相应的.m文件中去,类名是什么,文件名的前缀就是什么。假设有两个类,分别是Person类和Dog类,则通常有下面五个文件:(1)Person.h Person类的声明文件(2)Person.mPerson类的实现文件原创 2015-08-02 00:26:14 · 777 阅读 · 0 评论 -
O-c中类的继承与派生的概念
06-类的继承与派生的概念 1, 什么是继承 众所周知,面向对象的编程语言具有: 抽象性, 封装性, 继承性, 以及多态性 的特征. 那么什么是继承呢? 传统意义上是指从父辈那里获得父辈留下的东西原创 2015-08-11 09:33:57 · 1327 阅读 · 0 评论 -
@class的基本使用
2-@class 的基本使用1, @class的作用@class 允许简单的引用类,即类的声明.告诉编译器,后面代码中可能会使用到的类名.好比函数声明一样.2, #import的作用与 #include一样,用于导入文件内容3,面试题: #import与@class的区别通常引用一个类有两种办法:一种是原创 2015-08-22 15:39:36 · 1706 阅读 · 0 评论 -
O-C相关-09-id 类型与应用
09-id 类型与应用 1, 使用 NSObject访问子类对象方法 代码在编辑的时候, Xcode 会实时检查语法情况. 如果调用某个对象的方法, 在声明中没有该方法的声明, 那么就会报错. 但是对齐发消息, 是可以编译通过的. 但是运行时就不一定了. 2, id 类型 虽然可以利用发送消息执行可以调用子类方法, 但是相对较麻烦. 苹果提供原创 2015-08-09 22:23:49 · 511 阅读 · 0 评论 -
O-C相关-07-@property关键字简介与使用
基本概念:在O-C中,创建完类之后还需要给一个类添加属性和方法,之前说过的set和get方法比较繁琐,因此引入了@property 这个编译器指令.@property 是一个编译器指令.所谓的编译器指令, 即告诉编译器如何处理内容, 要做什么.@property 告诉编译器声明读写器( getter 方法与 setter 方法) 1.在今天的 Xcode 中, @property原创 2015-08-09 22:09:38 · 385 阅读 · 0 评论 -
O-C相关-10-动态类型检查
10-动态类型检查 1、动态绑定1)OC 中方法的调用不由编译器决定,而由运行时决定2)OC 中没有方法调用,只有消息接收. 一般称消息为选择器 2、动态类型检查对象在运行时获得类型的能力称为内省,如果在代码中想知道对象是否具有指定方法,可以使用:1)判断类型或父类类型-(BOOL)isKindOfClass:(Class)Obj 判断一个对象是不原创 2015-08-09 22:25:34 · 545 阅读 · 0 评论 -
O-C相关-08-动态类型与静态类型
08-动态类型与静态类型 1, 什么是动态类型和静态类型 1) 动态语言又叫动态编程语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。而其实我们平时说的“动态语言”应原创 2015-08-09 22:19:35 · 617 阅读 · 0 评论 -
O-C相关-06:对象与对象的关系
对象与对象的关系 1、对象与对象的关系依赖关联组合 常常讨论对象与对象关系时会提供两个属于:内聚性,耦合性内聚一般指功能上的指向性耦合一般指关联上的依赖性 2、依赖:对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。 依赖一般情况下是以下几种情况之一:a、ClassA中某个方法的参数原创 2015-08-03 23:19:11 · 669 阅读 · 0 评论 -
O-C-11-利用类方法做一个简单的计算器
#import @interface calculator : NSObject//@property double number;+(void)texe;+(void)add:(float)num1 andnum2:(float)num;+(void)subtract:(float)num1 andnum2:(float)num原创 2015-08-13 23:04:10 · 683 阅读 · 0 评论 -
O-C相关04:类方法的概述与定义和调用
类方法的概述与定义和调用1, 类方法的概述 类方法(class method)在其他编程语言中常常称为静态方法(例如 Java 或 C# 等). 与实例方法不同的是,类方法只需要使用类名即可调用, 不需要引用对象, 也就不需要创建对象了. 而实例方法必须是先将对象(实例)创建出来, 再利用对象来调用方法. OC 中使用 "+" 表示类方法, 使用 "-" 表示实例方原创 2015-08-03 22:38:55 · 743 阅读 · 0 评论 -
测试对象销毁后指针是否还可以使用
// 04-测试对象销毁后指针是否还可以使用//// Created by wanghy on 15/8/13.//////为了直观,直接将.m和.h文件写在main.m中。#import //定义 person类 包含 姓名,年龄和性别@interface person : NSObject{ @public NSStri原创 2015-08-15 20:47:17 · 895 阅读 · 0 评论 -
僵尸对象
// main.m// 03-僵尸对象(野指针)//// Created by wanghy on 15/8/13.////什么叫野指针:野指针就是没有指向具体地址的指针野指针指指向一个已删除的对象或未申请访问受限内存区域的指针。与空指针不同,野指针无法通过简单地判断是否为 NULL避免,而只能通过养成良好的编程习惯来尽力减少。对野指针进行操作很容易造成程序错误。/* 僵尸对象原创 2015-08-15 20:40:42 · 710 阅读 · 0 评论 -
OC相关-02:oc和c的基本差异
前言:面向过程和面向对象。 简单的说,面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。两者的区别就在于面向过程是从事情的开始到结束顺序完成,而面向对象则是从一个事件中抽象出来不同的类和动作,再降原创 2015-08-02 23:26:43 · 656 阅读 · 0 评论 -
0-C相关01:NSlog函数介绍。
NSlog()函数介绍:首先:NSlog()函数是cocoa的框架中提供的一个方法:下图中最上方是它在Xcode中的路径::同样都是输出函数。下边我们来看一下,在O-C中NSlog()和在 c 语言中的printf的一些不同: 1.nslog 和printf都可以输出字符串到控制台。@“1213244” @开头表示oc的字符串。原创 2015-08-02 22:29:01 · 776 阅读 · 0 评论 -
Objective-C发展历史
Objective-C发展历史苹果图标由来:被咬了一口苹果的LOGO是为了纪念计算机科学的创始人阿兰·麦席森·图灵。当年图灵由于身为同性恋者,被强行 “治疗”,在被迫注射大量雌性激素后,不堪屈辱,吃沾染氰化钾的苹果自尽,他死去的桌边还剩下半个苹果,时年42岁1,1976,Apple创立。Steve Wonzniak史提夫 沃兹尼克 和 Steve Jobs史提夫 贾伯斯原创 2015-08-02 23:44:19 · 4583 阅读 · 1 评论 -
O-C相关-03:面向对象概念的具体介绍
1.面向对象的概念 面向对象(object-oriented ;简称: OO) 至今还没有统一的概念,我这里把它定义为:按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。 2.面向对象编程(Object Oriented Prog原创 2015-08-02 23:38:13 · 490 阅读 · 0 评论