oc基本知识】的更多相关文章

iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import  用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h,此文件必须引用加载. 3)相较于C语言的导入头文件,头文件需要加上条件编译(#ifndef #define  #endif):防止头文件被多次包含 4)OC中关键字前面添加@符,字符串前面也需添加@符. 5)@autoreleasepool自动释放池:应用程序执行的语境,好处:应用程序会自动对内存进…
自己公司开现在使用OC语言在写,但Swift似乎是苹果更推荐使用的开发语言,估计也是未来开发的趋势,自己以前有接触swift,但又由于公司的项目赶,也没有时间去好好地学习这款开发语言.现在年底了,项目也进行到一些后期的维护,自己也有时间开充实一下自己了,决定重新开始去学习这款开发语言,也将后面不断地更新自己的学习笔记.   首先,你懂OC语言的话,这款Swift最基本的一些概念性的东西就不需要你再去理解了,会为你的学习带来许多的方便! 第一大点,大家需要知道字符串的本质是一个结构体!这点很重要…
更新说明: Swift 目前已经发布到4.0版本了,以前写的这整个Swift学习系列的文章,有很多的不足之处,我会重新整理整个系列文章,也是相当于重新复习一遍Swift,后面系列文章的改动之处全都会做记号标注,希望能有不一样的收获,也希望能给也在学Swift的你一点点的帮助! 2017年9月1日 公司项目现在暂时还是在使用Object-C在写,Swift虽然面世不是很久,但Swift是苹果更推荐使用的开发语言,估计也是未来开发的趋势,自己以前有接触Swift,但又由于公司的项目赶,也没有时间去好…
1.const const 修饰了*p1 / *p2 const int * p1=&age; int const * p2=&age;//和上面的意义一样 ,换句话说就是 在 “ * ”一侧的话是一样的作用   如: int num=15; p1=# p2=#//都可以变 从age地址变成了Num地址   *p1=30; *p2=30;//报错,内容不可变!   int * const p3=&age;//和上面不一样了 const 离p3近说白了…
一.Objective-C简述      Objective-C通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言.Objective-C主要用于:编写iOS操作系统(如:iPhone.iPod touch.iPad 等苹果移动终端设备 )应用程序和Mac OS X操作系统应用程序的利器. Objective-C的流行当归功于iPhone的成功,因为Objective-C被用于编写iPhone应用程序. Objective-C是非常实际的语言.它是一个用C写…
一.枚举 结构体 typedef enum{ sexMan, sexWoman }Sex;   tydedef struct{    int year;    int month;    int day; }Date;   二.类方法有参数声明 - (void)pingFang:(int)num; 一个参数对应一个冒号   三.封装 set方法(对参数进行过滤) 1.作用:提供一个方法给外界设置成员变量值. 2.命名规范:   ①.方法名必须以set开头.   ②.set后面跟上成员变量的名称,…
一.基础语法 1> OC语言和C语言 C语言是面向过程的语言,OC语言是面向对象的语言 OC语言继承了C语言,并增加了面向对象的思想 以下内容只介绍OC语言与C语言的不同之处 2> 关键字 以字母或下划线开头 3> 字符串 OC语言有自己特有的字符串,,区别于C语言字符串 4> BOOl类型 只有YES和NO两种取值 本质上是char类型,但理解为整型 BOOL类型是由 条件编译机制引进的 5> #import与#include 都是将文件内容拷贝到指令出现的代码行 系统文件…
#import 与 #include区别 include完成头文件的导入,可能会导致头文件的相互引用和函数或变量的重复定义 为了解决这个问题 我们必须这样做 #ifndef Student_h #define Student_h //方法的声明 #endif import不仅完成头文件的引入,并且避免头文件之间的相互引用 printf 与NSLog的区别 printf(“hello”): NSLog(@“hello”); 区别: 1.printf没有自动换行 NSLog自动换行 2.printf…
1. Objective-C是基于C语言的. a. 在C语言的基础之上新增了面向对象的语法. b. 将C语言中复杂的.繁琐的语法封装的更为简单. 2. Objective-C程序的源文件的后缀名.m  message  消息机制. C程序的源文件的后缀名是.c 3. main函数仍然是Objective-C程序的入口和出口. main函数的参数可以有 也可以没有. 参数的功能: 在终端单独运行程序的时候 可以让用户直接传入一些数据进来. 返回值: 代表程序结束的状态. 0代表正常结束. 非0代表…
//OC: Objective-C, 面向对象的C语言 //OC与C的区别 //1.OC是C的超集, C语言的所有语法都可以在OC中使用 //2.OC是面向对象 //3.OC是一门运行时语言 //4.OC的类库丰富 NSString *string = [[NSObject alloc] init]; //string在编译时是NSString类型, 在运行时是NSObject类型 //面向对象的编程: OOP //面向对象编程的核心: 类与对象 //面向对象的三大特性: 封装, 继承, 多态…
在上班之余学习IOS已经有三个多月了,因为基础有些薄弱从OC的基本语法开始学习的,相继看了青柚子和红柚子的书,现在在看编程实战,趁这个机会好好的总结一下: 1.命名约定 对象类型和名称一致,以免混淆 -(void) setURL:(NSString *)URL;//错误的命名方法 //更改为 -(void)setURLString:(NSString *)string; -(void)setURL:(NSURL *)URL; 静态变量(包括作用域)以s开头,而全集变量采用g开头,在通常情况下应避…
只在@interface中定义变量的话,你所定义的变量只能在当前的类中访问,在其他类中是访问不了的:而用@property声明的变量可以在外部访问. 用了@property去声明的变量,可以使用“self.变量名”的方式去读写变量.而用@interface的方式就不可以. 协议与委托 (Protocol and Delegate) 1 协议: 协议,类似于Java或C#语言中的接口,它限制了实现类必须拥有哪些方法.它是对对象行为的定义,也是对功能的规范.示例: // GoodChild.h #i…
(一)构造函数 h文件 #import <Foundation/Foundation.h> @interface Student : NSObject { NSString *_name; NSString *_id; } -(instancetype) initWithName:(NSString *)name ID:(NSString *) idNum; -(void) showInfo; @end m文件 #import "Student.h" @implementa…
实战(使用OC的知识制作一个简易通讯录) //语法糖.笑笑语法 // NSString * string = [NSString stringWithFormat:@"string"]; NSString * str = @"string"; NSLog(@"%@",str); //上面的两种写法是一样的,是字符串的简单写法 // NSArray * arr = [NSArray arrayWithObjects:@"yuansu&qu…
开始学习OC,时间不等人啊,要抓紧了. OC基本知识 新建一个以.m结尾的文件,这既是oc的程序文件.在oc程序中完全兼容C语言.编译好链接类似. oc包含头文件是使用#import <> import 和include 的区别: 1:import和include一样的包含功能 2:import可以自动防止文件被重复拷贝 #import <Foundation/NSObjCRuntime.h>//NSLog头文件 //import 1:和include一样 // 2:可以自动防止文…
做iOS开发有一段时间了,也有自己上线的App产品,也在坚持着发表技术博客总结自己所学的东西.在写博客的时候虽然博文中不免有错别字,但每句话都是在斟酌之后所写的,每篇博客所粘贴的代码都是经过调试运行无误后所写的.在发表完博客后由许多园友留下邮箱索要Demo,看到的我都给发过去啦,可能会有漏的.所以在后来发表的博文后面留下了对应Demo的gitHub地址. 在博客园发表的博客有几篇被CocoaChina的iOS咨询模块所摘录,说句实话在博客园里有关移动端开发的博客的数量不是很多,但通过发表博客还是…
来个命令行的购票系统 --1-- 需求分析 1.1 分析 1.2 功能分析 1.3 流程分析 --2-- 原型展示 2.1 界面原型 --3-- 系统设计 3.1 类设计 3.2 框架模块设计 --4-- 实现 4.1 代码实现 ------------------------- [写在开头:] 『如今使用移动设备购物.买票都已经是一种基本的生活方式了,使用手机方便了我们日常的生活.没有使用UI框架,所以还是采用命令行交互的方式,完成这个购票系统,用以巩固OC的知识』 --1-- 需求分析 1.…
距离swift发布10天了,也简单看了一下swift的语法,个人感觉相对于object-c很是简单明了.Swift的出现并不能说明iOS开发简单了很多,有可能会变得复杂,你需要学习两门编程语言,因为在程序员的世界里,务实并不是最重要的,在找工作中,可能面试官会问你OC的知识,还有Swift的知识,这将是一件糟糕的事情.Swift的语法上可能更精简一些,但是iOS开发并不是只有Swift就能实现的,还是需要CocoaTouch框架,iOS开发还是需要以前的UIkit.Sqlite.UrlConnc…
现在有许多ios应用都是基于UIWebView的应用,比如phonegap做出的那些程序.最近我也接触到了一个类似的程序,今天在这里分享一下这类程序的特点. 用UIWebView来实现程序,自然少不了javascript 和 objective-c 之间的相互调用,推荐使用第三方的库来实现这个功能.工程名称为 WebViewJavascriptBridge ,在github上可以下载到.我还写了一遍文章,简单地分析了一下这个工程. 除了js和oc的交互,还想提一下ajax在这类应用中的作用.aj…
原文地址 最近开始学习object-c,分享一下学习oc的经验以及对oc的理解,其中难免会有错误,请大家理解. 对初学者来说,objective-c存在了很多令人费解的写法,当然也包括我! 我刚开始看oc的代码的时候:这是什么东西,怎么这么多中括号,还有一堆“+”,“—”号是什么东西,不是说好的c的超集,怎么完全看不懂! 然后慢慢了解发现:哦,用法还是那样子嘛! 下面我们开始学习oc. object-c与c一样,文件分为头文件和源文件,扩展名分别为.h和.m..h表示头文件.头文件包涵类的定义.…
1.NSLog(@“hello world!”);//打印语句的函数,需要打印的字符串放在@之后. NSLog(@“are %d and %d different?%@”,4,4,@”YES”); 2.方括号有两个作用: 1)访问数组元素 2)用于通知某个对象执行什么,在方括号内第一项是对象,其余部分是需要对象执行的操作.例如,[shape draw]的含义为通知shape执行draw方法. 3.方法调用:类名 方法名:参数 注意:如果方法使用参数,则需要冒号:否则不需要冒号. 4.类的编写:…
用这几天学的OC的知识,写了一个实现简单功能的通讯录管理系统,在这里分享给大家: 通讯录管理系统 *  需求: 1.定义联系人类Contact.实例变量:姓名(拼音,首字母大写).性别.电话号码.住址.分组名称.年龄.方法:自定义初始化方法(姓名.电话号码).显示联系人信息   2.定义AddressBook类,定义字典,分组管理所有联系人.分组名为26个大写的英文字母.   3.可以添加联系人对象,如果姓名或电话号码为空,添加失败.添加联系人到匹配的分组.   4.获取某个分组名称下所有联系人…
我的Objective-C系列文章和坚持写博客的感想   做iOS开发有一段时间了,也有自己上线的App产品,也在坚持着发表技术博客总结自己所学的东西.在写博客的时候虽然博文中不免有错别字,但每句话都是在斟酌之后所写的,每篇博客所粘贴的代码都是经过调试运行无误后所写的.在发表完博客后由许多园友留下邮箱索要Demo,看到的我都给发过去啦,可能会有漏的.所以在后来发表的博文后面留下了对应Demo的gitHub地址. 在博客园发表的博客有几篇被CocoaChina的iOS咨询模块所摘录,说句实话在博客…
简单看了一下swift的语法,个人感觉相对于object-c很是简单明了.Swift的出现并不能说明iOS开发简单了很多,有可能会变得复杂,你需要学习两门编程语言,因为在程序员的世界里,务实并不是最重要的,在找工作中,可能面试官会问你OC的知识,还有Swift的知识,这将是一件糟糕的事情.Swift的语法上可能更精简一些,但是iOS开发并不是只有Swift就能实现的,还是需要CocoaTouch框架,iOS开发还是需要以前的UIkit.Sqlite.UrlConnction等等.虽然我学习Swi…
在了解runtime时,如果自己编写runtime代码,需要先导入头文件: #import <objc/message.h> 之后,例如了解runtime的消息机制时,调用objc_msgSend的方法时,Xcode时不会自动提示所需要参数的. 其大概的原因,runtime机制属于OC底层知识,苹果不推荐用runtime机制是不希望太多人了解底层的实现方法. 但是,要加上参数提示,也是有办法的,如下: 在项目中的build setting->搜索objc_msgSend =>把ye…
本文的阅读基本条件: 具备C/C++基础知识,了解面向对象特征 阅读过<Objective-C 2.0 程序设计(第二版)>.<Objective-C 程序设计 第6版>或相关基础OC书籍 知识要点汇总模式: 提出问题.给出详细解释(Q&A) PS:会以扩展方式延伸介绍一些知识点 问题列表 Q1. Objective-C特点以及和C++的差别? Q2. 属性的特点.和实例变量的差别,使用注意事项? Q3. 类的继承.协议和分类的概念和使用,以及须要注意的问题? Q1. Ob…
致谢 感谢看雪论坛中的这位大神,分享了这个技术:http://bbs.pediy.com/showthread.php?t=186054,从这篇文章中学习到了很多内容,如果没有这篇好文章,我在研究的过程中会遇到很多困难,说不定我就放弃了~~在此感谢他. 前言 之前的几篇文章都是在介绍了OC的相关知识,之前的半个月也都是在搞IOS的相关东西,白天上班做Android工作,晚上回家还有弄IOS,感觉真的很伤了.不过OC的知识也学习了差不多了.不过在这段时间遗留了很多Android方面的问题都没有进行…
关于本文: 1.说明本文写作的目的 2.整理了Swift的基本语法树 3.看图作文 一.写作目的 昨天看了一个知识专栏,作者讲述的是“如何研究性的学习”.整个课程1个小时9分钟,花了我19块人民币.其中有一个观点,我很喜欢.那就是“把学习新知识当作是一门研究”.所以我今天就要付诸行动,学以致用,好好研究下怎么学习Swift. 通过查阅资料,我把Swift的基本语法整理成了下面这个样子,方便看的清楚. 二.整理的Swift基本语法树 三.看图作文 然后我发现,其实Swift和Objective-C…
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类. 术语:OO面向对象.OOP面向对象编程 二.类 (一)关于类 类的设计只关注三个东西:类名.属性和方法 注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,且不能有下划线,如果有多个单词则使用驼峰标识.在对方法进行类的…
知识普及: 1.数组中的元素在系统中都会有其默认对应的下标,下标是一个整形的数字,默认从0开始. 例:NSArray *arr3 = @["345","234","23"]; 则当我们要取出数组中第一个元素时,有  arr3[0]= "345";如果出现我们要取出arr[3]时,程序会报错,因为此时的数组只有3个元素,对应的下标为0.1.2,没有3,这种情况我们称之为越界 2.在oc中汉字不能被直接打印出来,需要遍历操作: 3…