`

become an xcode 续

阅读更多

第七章:循环

1:for 

循环次数必须是整数,因为你没有办法循环2.7次

int x; for (x = 1; x <= 10; x++) { NSLog(@"Julia is a pretty actress."); } NSLog(@"The value of x is %d", x);

 


 

2:while () { }和do {} while ()

   

int counter = 1; while (counter <= 10) { NSLog(@"Julia is a pretty actress.\n"); counter = counter + 1; } NSLog(@"The value of counter is %d", counter);

 


 

int counter = 1; do { NSLog(@"Julia is a pretty actress.\n"); counter = counter + 1; } while (counter <= 10); NSLog(@"The value of counter is %d", counter);

 


 

 

第八章:带有图形界面的程序

 

写道
Objective-C语言把抽象的概念当作对象。

 

 

 

写道
包含对象名称、方法名称,还会包含一个方法会使用到的参数(值)

   Objective-C语言信息传递的一般格式:

       不带参数

            [receiver message];
 

      带参数的形式。

           [receiver message:argument];

所有的工作部分都放在中括号里面,而且要在结尾加上那个永恒不变的分号。在括号里,接收对象的名称放在首位,紧随其后的是方法,用“:”后面加参数


 

 

 

 

 

 

你编写的窗口的类如果没有包含常规行为的代码时,信息会自动地上溯到它所继承功能的原始的类那里(称作“父类superclass”)

 

如何去执行你自己定义的行为而不是从父类那里继承来的方法??    

写道
你自己编写的方法要使用和苹果定义的关闭窗口方法一样的方法名称

 

 

调用父类提供的方法    

          [super close];

 

 

写道
所有类里面,顶级的是被称作“对象类”(NSObject)的类。几乎所有的你创建或使用的类都直接或间接的是对象类的“子类”(subclass)。

 

 

 

 

 

 

 

第九章寻找方法

第十章:awakeFromNib方法

第十一章:指针

写道
一个指针变量就是一个包含其它的变量地址的变量。
只要存在一个变量,你能够通过在它前面写上符号“&”来得到它的地址。比如要得到x的地址则写成“&x”。

  

写道
表达式&x赋值,将返回变量x的在内存中的地址而不是存储在其中的数值。地址是表示电脑的内存一个特定位置的数值

   

写道
在指针变量前面加一个星号“*”得到的是指针所指向的内存存储空间内的数值

    

写道
指针之所以有用是因为有时候你不需要变量的数值,但需要用到变量的地址

  

写道
我们定义一个指针变量的时候,需要声明指针指向的数据是何种类型

  

 

第十二章:字符串

写道
,为什么“@”这个有趣的符号总是出现?在Objective-C语言是C语言的一个变种,它自有一套处理字符串的方法。为了区分这种新型的字符串,Objective-C语言使用了“@”符号。
      那么Objective-C语言的字符串相比C语言的字符串有哪些改进?Objective-C语言的字符串使用Unicode编码来代替ASCII编码。Unicode字符串几乎不受语言限制,甚至可以是中文或者是罗马
字母。

 

NSString *favoriteActress = @"Julia";
指针变量favoriteActress指向内存中的一个位置,这个位置存储着字符串“Julia”。

 

写道
由类NSString创建的字符串被叫做固定字符串,因为它不可修改。

 

写道
NSMutableString,这个类创建的字符串是可以被修改的

  

写道
你可能希望修改一个已经存在的字符串,而不是在创建一个。这时就要用到类NSMutableString的对象来代表你的字符串。类NSMutableString提供了若干修改字符串内容的方法。
比如,方法appendString:

 

#import <Foundation/Foundation.h>

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

 {

     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

     NSMutableString *foo;  

     foo = [@"Julia!" mutableCopy];  

     [foo appendString:@" I am happy"];

     NSLog(@"Here is the result: %@.", foo);

     [pool release];

     return 0;
}

 

写道
方法mutableCopy(由类NSString提供)复制了一个新的可变字符串作为方法信息的接收方

 Objective-C语言并不直接操作对象,而总是借助指针。这就是为什么???

 

写道
事实上,当我们提到Objective-C语言中的“对象”时,我们往往指的是“指向对象的指针”;但是由于我们总是通过指针来操作对象,所以就简称为“对象”了

  

写道
若干变量可以同时代表同一个对象

 

第十三章:数组

写道
数组(array)。一个数组是一组有序的对象列表
在数组中,第一个元素的索引是0,第二个索引是1,以此类推。

 

   通过执行下面这个步骤可以创建数组:
       [NSMutableArray array]

写道
Objective-C语言中,我们可以向类发送信息(原因是类本身也是对象,它是被元类(meta-class)的实例,但本书中不再就此问题做深入探讨)。
在Cocoa的说明文件中,能够直接作用于类的方法(类方法)名称前用加号“+”标示,与前面表示减号“-”的实例方法不同

 

#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSMutableArray *myArray = [NSMutableArray array];
[myArray addObject:@"first string"];
[myArray addObject:@"second string"];
[myArray addObject:@"third string"];
int count = [myArray count];
NSLog(@"There are %d elements in my array", count);
[pool release];
return 0;
}
运行结果如下:
There are 3 elements in my array

 

#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSMutableArray *myArray = [NSMutableArray array];
[myArray addObject:@"first string"];
[myArray addObject:@"second string"];
[myArray addObject:@"third string"];
NSString *element = [myArray objectAtIndex:0]; // [2.13]
NSLog(@"The element at index 0 in the array is: %@", element);
[pool release];
return 0;
}

 

#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSMutableArray *myArray = [NSMutableArray array];
[myArray addObject:@"first string"];
[myArray addObject:@"second string"];
[myArray addObject:@"third string"];
int i;
int count;
for (i = 0, count = [myArray count]; i < count; i = i + 1)
{
NSString *element = [myArray objectAtIndex:i];
NSLog(@"The element at index %d in the array is: %@", i, element);
}
[pool release];
return 0;
}
运行结果如下:
The element at index 0 in the array is: first string
The element at index 1 in the array is: second string
The element at index 2 in the array is: third string

 

 需要注意的是数组不仅仅可以用于字符串操作。它可以用于任何你希望用数组操作的对象。

 

 

 

第十四章内存管理

 

Cocoa的内存管理技术就是通常所说的“援引计数”

写道
Cocoa给每个对象关联了一个计数器,被称做“保留计数器”。编程时,给对象增加一条援引信息,就要让对象在它的计数器里加一;当减少一次援引,

则减一。当保留计数器的计数为0的时候,对象就知道自己已经不再被援引了,可以被安全的毁掉了。这时候的对象会毁掉自己并释放出内存空间。

 

第十五章信息资源

 

写道
http://osx.hyperjeff.net/reference/CocoaArticles.php
http://www.cocoadev.com
http://www.cocoabuilder.com
http://www.stepwise.com

 

分享到:
评论

相关推荐

    become an xcoder

    在IT行业中,"成为XCoder"意味着掌握Apple的集成开发环境(IDE)Xcode,并具备使用它进行iOS、macOS以及其他Apple平台应用开发的能力。Xcode是开发者构建高质量应用程序的关键工具,其强大的功能和易用性使其在苹果...

    Become.an.Xcoder(简体中文).pdf

    《Become an Xcoder》,作者:Bert Altenburg,Alex Clarke,Philippe Mougin,翻译:刘钰,PDF 格式,大小 1 Mb,Xcode 开发员入门导引。 这是苹果机平台主要的开发工具 XCODE 的入门丛书,希望对各位喜欢苹果程序...

    become an Xcoder

    根据书籍《Become an Xcoder:Start Programming the Mac Using Objective-C》提供的内容,本书主要介绍了使用Objective-C语言进行Mac应用开发的基础知识,并重点讲解了如何利用Xcode进行编程实践。以下是基于该书...

    IOS 10 Programming Fundamentals with Swift: Swift, Xcode, and Cocoa Basic

    • Tour the lifecycle of an Xcode project from inception to App Store including Xcode s new automatic code signing and debugging features • Construct app interfaces with the nib editor, Interface ...

    BecomeAnXcoder中文

    从提供的文件内容来看,这是一本名为《BecomeAnXcoder中文版》的书籍,主要针对iOS开发者,目的是引导初学者入门Xcode开发。这本书的英文版最早于2006年由Bert Altenburg、Alex Clarke和Philippe Mougin三位作者编写...

    Programming iOS 11 - Matt Neuburg

    Tour the lifecycle of an Xcode project Learn how nibs are loaded Understand Cocoa’s event-driven design Communicate with C and Objective-C In this edition, catch up on the latest iOS programming ...

    iOS 9 Programming Fundamentals with Swift 无水印pdf 0分

    Tour the lifecycle of an Xcode project from inception to App Store Create app interfaces with nibs and the nib editor, Interface Builder Understand Cocoa’s event-driven model and its major design ...

    Mastering iOS Game Development

    iOS is an operating system for Apple manufactured phones and tablets. Mobile gaming is one of the fastest-growing industries, and compatibility with iOS is now becoming the norm for game developers. ...

    Objective C 练习资料

    1. **Become an Xcoder: Basic Programming Background** 这份PDF文档提供了Objective C编程的基础背景知识,它涵盖了Xcode IDE的使用,这对于任何想要开始iOS或macOS开发的人来说都是必不可少的。Xcode是苹果官方...

    ios学习资料+BecomeAnXcoder

    "Become An Xcoder"教程将引导你深入了解Xcode的使用,包括界面布局、项目创建、代码编辑、调试技巧以及如何利用Interface Builder设计用户界面等。 这套资料可能包括以下关键知识点: 1. **Swift编程语言**:...

    Mastering.IOS.Game.Development

    Become a master in iOS game development through this fast and fun guide! In the beginning, we'll tell you everything you need to plan and design your game. You'll then start developing your game ...

    Learn Swift by Building Applications Explore Swift programming

    it has introduced new ways to solve old problems and has gone on to become one of the fastest growing popular languages. It is now a de-facto choice for iOS developers and it powers most of the newly...

    Learn Swift by Building Applications Explore Swift programming_Code.zip

    it has introduced new ways to solve old problems and has gone on to become one of the fastest growing popular languages. It is now a de-facto choice for iOS developers and it powers most of the newly...

    Swift 5 for Absolute Beginners:Learn to Develop Apps for iOS, 5th Edition-epub

    Stay motivated and overcome obstacles while learning to use Swift Playgrounds and Xcode 10.2 to become a great iOS developer. This book, fully updated for Swift 5, is perfect for those with no ...

Global site tag (gtag.js) - Google Analytics