码迷,mamicode.com
首页 > 系统相关 > 详细

Learn Objectvie-C on the Mac 2nd Edition 笔记

时间:2014-10-20 19:03:11      阅读:312      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   ar   使用   for   strong   

Chapter 1
Apple’s Cocoa (for OS X) 和 Cocoa Touch (for iOS) toolkits 都是用 Objective-C写的.

Chapter 2

(1) .m 代表 “messages”的缩写

  .m -> Object-C compiler
  .c -> C compiler
  .cpp -> C++ compiler

(2)在 Objective-C中, #import 保证了每个头文件只被包含一次,如同c中的#ifdef头文件卫士的作用一样。

(3)NSLog()如同 C中的printf(),不过增加了时间和日期戳,并自动在行尾加了“\n"换行符。

      @(" ")表示" "中的字符串被当做一个NSString单元来处理。在NSLog中如果直接使用了C风格的字符串”“而缺少@(),则在编译时得到一个warning,运行时会crash。

(4)BOOL 类型

     在Objectvie-C中,BOOL类型是实际上是一个signed char的typedef,因此不仅可以用YES(值=1)和NO(值=0)表示C中的true和false,而且可以存放其他的值。这里会有一个易错点:如果将一个short或int等类型的值赋给BOOL变量后,会截断末尾的8位,如果这末尾8位值刚好为0(如8960,其十六进制值为 0X2300),此值的BOOL值就是0,即NO,而不是非NO了。

Chapter 3

(1)计算机科学的核心思想:Indirection。Instead of using a value dirctly in your code, use a pointer to the value; Instead of doing something by yourself, ask another person to do it.

(2)一个文件读取示例:

#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
    if(argc == 1)
    {
        NSLog (@"You need to provide a file Name");
        return (1).
    }

    FILE *wordFile = fopen(argv[1], "r"); // argv[0] is the code file path
    char word[100];
    while(fgets(word, 100, wordFile)
    {
         // strip off the trailing \n
         word[strlen(word) - 1] = \0;
         NSLog(@"%s kis %lu characters long", word, strlen(word));  
    }
    fclose(wordFile);
    return(0).
} // main

(3)在Objective-C中,方法调用采用的是中缀表示法(infix notation),如

[circle setFillColor: kRedColor];

    如果一个方法无参数,则无冒号和参数列表;如果有参数,则有冒号:

- (void) scratchTheCat; // 无参数
- (void) scratchTheCat: (CatType) critter; // 有参数

Chapter 6

 (1)Objective-C类的代码可以分为2个部分:

          1>. @interface 部分   

@interface XX : YY
{
    variables;
}

 public method declarations.

@end

  提供了该类的公共接口声明。

          2>. @implementation 部分   

@implementation XX

private self-used methods


@end

   提供了该类的实现以及内部函数。

          

Learn Objectvie-C on the Mac 2nd Edition 笔记

标签:style   blog   color   io   os   ar   使用   for   strong   

原文地址:http://www.cnblogs.com/wenshanzh/p/4037961.html

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