发表于: 2016-12-10 00:42:50

1 888


今天完成的事情:复习了面向对象编程的基础知识。
明天计划的事情:复习继承
遇到的问题:OC中如判断已经到字符串结尾了,然后换行判断下一行,直到读取完所有字符串。
收获:

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[])

{

FILE *wordFile = fopen ("/Users/maweijiang/Desktop/words.txt", "r");

char word[100];

while (fgets(word, 100, wordFile))

    {

// strip off the trailing \n

word[strlen(word) - 1] = '\0';

NSLog (@"%s is %lu characters long", word, strlen(word));

}

fclose (wordFile);

    return 0;

}

想吧这个代码用第十章初始化的方法重新实现以下,但是不知道如何判断已经到字符串结尾换行继续读取。


#import <Foundation/Foundation.h>


int main (int argc, const char * argv[])

{

    NSMutableString *string = [NSMutableString stringWithCapacity:42];

    NSError *error = nil;

    NSStringEncoding encoding = NSUTF8StringEncoding;

    string = [[NSMutableString alloc] initWithContentsOfFile:@"/Users/maweijiang/Desktop/words.txt" encoding:encoding error:&error];

    

    NSUInteger length =[string length];

    

    

    NSLog (@"%@ is %lu characters long", string, (unsigned long)length);

    

    

}

但是还是实现了一些功能。


继续深入OC的面向对象思想,id 表示标识符identifier是一种泛型,而已用来引用任何类型的对象。

类:表示对象类型的结构体,对象通过类来获取自身的各种信息,执行每个操作需要运行的代码,类名首字母大写。

对象:包含值和指向其类的隐藏指针的结构体。

终于明白API的意思,就是接口的意思,你只能看到方法名参数,具体怎么实现不会让你看到,这就开源和闭源的区别吧。


@interface ABC :NSObject

{

    Color  red;

}


- (void) setColor: (Color) red;


@implementation ABC

- (void) setColor: (Color) c

{

   Color = c;

}

接口中参数名可以让我们清楚的知道参数正真的作用,但是在实现中一定要区分实例变量和参数名称。在OC调用方法时会有一个self的秘密隐藏参数将被传递给接收对象,而参数引用就是这个接受对象,self.Color = c;就是一个set赋值。



返回列表 返回列表
评论

    分享到