A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pumpkin 中级黑马   /  2015-12-7 21:47  /  732 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.------<a  target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
黑马程序员:OC第一天学习总结
好吧,如标题所示,这是我对OC第一个文件夹个人认为比较重点或者是比较容易忘记的知识点进行整理,以便自己的日后复习。也希望对初学者有所帮助~

Creat git repository on my mac前面的勾不要打上。(打上就等于共享出去);
主函数是Int main(int argc,const char*argv【】){@autoreleasepool{
#import 引入头文件,可以防止重复包含;
Founation/foundation.h 头文件引入了等于把oc的库文件都引过来;
NSLog很像printf,同样会在控制台上显示结果。不同的是,传递进去的是格式化字符是NSString的对象,而不是chat*字符串指针。NSLog可以自动换行,有日志调制记录项目信息;
NSLog在输出的类型面前加@。字符串面前必须加@;输出字符串用“@”;
OC大部分关键字以@开头;
@“”表示一个C的字符串化为OC中的字符串对象NSString;

声明的重要性:
   Void test(){
   Printf(“...\n”);}

Int main(int argc,const char*argv【】){@autoreleasepool{
Test(); }//test是可以实现
Test1();//这个不可实现

  Void test1(){
  Printf(“...”);}

在C语言中 .c 代表源文件  .o代表目标文件  out 可执行文件  .h头文件

OC中的增强型for循环:
NSArry *arr=@[@”one”,@”two”,@”three”];
For (NSString *str in arr){NSLog(@“%@”,str);}

Boolean一般用于流程控制,取值true(1)或false(0);
Bool存放逻辑值的另一种方法,取值YEs(1)或者NO(0);

\\Try catch 并不能检测所有的错误
@try{有可能出错的代码}
@catch{出错以后我们处理代码的方法}
@finally{不管出错与否,这里代码一定执行}

(类和对象)类:拥有相同类似属性和行为的对象都可以抽象出一个类。
            对象:是系统中的基本运行实体

类的名称:类名;;类的属性:一组包含数据的属性;类的方法:允许对属性中包含的数据进行操作的方法。
类是声明使用关键字@interface和@end。
方法的声明:+表示类方法(静态)。-表示对象方法(动态)
在.h声明的所有方法作用域都是public类型,不能更改。

结构体的定义:struct Student{};定义一个student结构体。

类的声明:类名,类属性,类行为。
类的实现:实现行为。
例子:
@inteface 类名:NSObjce     (声明部分)
{  @public
   // 类的属性}            
   // 类的具体行为
@end

@impelementation 类名      (实现部分)
//行为的具体行位的实现
@end

创建一个对象:
  Car  *car =【Car new】;
  Car 是类名;car是指针变量;Car new表示使用类名调用new类方法。
【Car new】做了3件事情1)向计算机申请内存空间
                       2)给类中的每一个成员初始化值
                       3)返回新申请的空间首地址

思考:为什么int  *P=【Car new】 为什么不行

(对象方法)无参方法的声明实现和调用:
-(void)insertobject:(id)anobjec atindex:(NSUInteger)index
(斜:)的是方法签名关键词;(黑体)为参数类型,(下划线)为参数名。

方法的调用【类名或者对象名  方法名】;
例子:
      Car *car =【Car new】;
     【car run】;

(对象方法)有参方法的声明实现和调用
-(double)sumOfNum1:(double) num1 andNum2:(double) num2;
第一个double表示返回值类型;
黑体表示方法名;
下划线代表形参类型;
斜代表参数名;
调用有参方法:【类名或对象名      方法名:具体数字  方法名:具体数字】

理解本条程序例子:

Typedef Enum color{KColoW,KColorB,KColorTHj}iColor;(枚举类型)

(声明部分)
@inteface   iphone:NOSbject
{  @public
   iColor  _ color;
   Float  _size;
   Nssting *_cpu;}
-(void)abuoutMyphone;
-(void)callphone:(NSSting*)telnum;
-(void)sendMessage:(NSString *)telNum andContent:(NSString *)content;
@end

@implementation iphone
-(void)abuoutMyphone{NSLog(“颜色:%d,尺寸:%.2f,cpu:%@”,_color,_size,_cpu);}
-(void)callphone:(NSSting*)telnum{NSLog(@”给%@发送短信,短信内容:@.”,telNUm,Content);}
-(void)sendMessage:(NSString *)telNum andContent:(NSString *)content{{NSLog(@”给%@发送短信,短信内容:@.”,telNUm,Content);}
@end

主程序:
{
Iphone *iphone7Plus=【Iphone new】;
iphone7Plus—>_color=kcolorTHJ;
iphone7Plus—>_cpu=@”A20”;
iphone7Plus—>-size=7.9f;
【iphone7Plus aboutmyphone】;
【iphone7plus callphone:@“10086”】;
【iphone7plus sendmessage:@“10086”andcontent:@“XXXXX”】;
}
Return 0;

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马