码迷,mamicode.com
首页 > 其他好文 > 详细

oobject-c基础教程 总结

时间:2015-03-17 14:00:53      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

历时n久 终于把这本书完完全全的看完了 话说 从来没看完过一本技术书 终于有了小突破 

看过就忘 也是醉了 从第一章开始 总结本书内容 加油!!

========================================================

第一章:启程

IOS-Cocoa Touch

OS X-Cocoa

第二章:对C的扩展

objective-c是C的子集。

Xcode控制台窗口:View-Debug Area-Acitvate Console  ||  Command+Shift+C

.h: public API 结构体 符号常量 函数原型

.m: private API && implementation

Xcode,编译器LLVM(low level virtual machine),兼容C的全部3个变体。

#import 同#include 但是可保证头文件只包含一次。

NSLog  ---- NS前缀 避免名称冲突 -------参数 NSString* %@

%@ ---可以打印object,自动调用description方法。

设置XCode将warn当成error处理: build settings---treat warnings as errors

BOOL类型 YES NO 只可以与NO值直接比较,不可以与YES值直接比较,因为Bool为unsigned类型 判断最低位为0为NO,非0为YES。

第三章:面向对象编程的基础知识

面向对象 Object-oriented Programming OOP

查看Xcode文件默认路径:Product-Scheme-Edit Scheme

id类型 引用任何类型的对象

OC命名规则:

              oc命名尽量让名称可以反映出它们的具体功能,长不是问题!

              类 首字母大写 驼峰规则

              对象 首字母不要大写 驼峰规则

//.h
@interface Circle:NSObject//继承NSObject
{
    ShapeColor fillColor;//实例变量 instance variable
}

+(void)setFillColor:(ShapeColor)fillColor;    // +声明类方法
-(void)setBounds:(ShapeColor)bound;    // -声明对象方法
@end//Circle 

//.m
@interface Circle()//private


@end//Circle

@implementation Circle
+(void)setFillColor:(ShapeColor)fillColor
{
    //code
}//setFillColor

-(void)setBounds:(ShapeColor)bound
{
    //code
}//setBounds

@end//Circle

第四章:继承inheritance

单继承

方法调度机制:先在subclass查找 再查找superclass

编译器使用 基地址加偏移  

 

技术分享

第五章:复合composition

复合是包含作为实例变量的对象指针实现的。

对象使用前需两个步骤 1.分配内存alloc 2.初始化init

继承 isa

复合 hasa

第六章:源文件组织

引入头文件两种方法:

     1.import .h文件

     2.@class Tire; //前向引用

第七章:深入了解XCode

缩进 Command+[将代码左移 Command+]将代码右移

XCode代码风格 Preferences-Text editing-indentation

第八章:Foundation Kit介绍

IOS--UIKit

OS X--AppKit

一些有用的数据类型(结构体)

  范围:NSRange {unsigned int location,unsigned int length}  NSMakeRange() //字符串里的字符范围 或者 数组里的元素范围  NSNotFound

  几何数据类型:

          1CGPoint{float x,float y} //笛卡尔平面的坐标  CGPointMake()

          2CGSize{float width,float height}//存储长度和宽度 CGSizeMake()

          3CGRect{CGPoint origin,CGSize size}//矩形数据类型,坐标和大小复合 CGRectMake()

  字符串(NSString NSMutableString)

          类方法class method 用于创建新的实例的类方法称为工厂方法(factory method)

          stringWithFormat 就是工厂方法

          length      

          isEqualToString:    比较NSString 一定要用该方法,不能直接比较指针。

          (NSComparisonResult)compare:(NSString *)aString  

                 返回结果:enum{NSOrderedAscending = -1,NSOrderedSame,NSOrderedDescending};

                 compare:options:  options包括NSCaseInsensitiveSearch NSliteralSearch NSNumericSearch 用|符号连接

          hasPrefix:

          hasSuffix:

          rangeOfString:

          NSMutableString

                 stringWithCapacity:      appendString:      appendFormat:        deleteCharactersInRange:

NSArray

限制:1.只能存储object 2.不能存储nil  3.不可变

创建:1.arrayWithObjects:

        2.@[object1,object2,...]

切分数组:componentsSeparatedByString:

              componentsJoinedByString:

NSMutableArray

addObject:

removeObjectAtIndex:

 

 

 

第九章:内存管理

 

第十章:对象初始化

subclass 中的init方法必须调用[super init];

 

oobject-c基础教程 总结

标签:

原文地址:http://www.cnblogs.com/melody5417-bky/p/4344085.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!