类型:
NSString
NSInteger
NSLong控制台输出
NSObject:对象
比较两个对象是否相等:
- NSObject *object1 = [[NSObject alloc] init];
- NSObject *object2 = obejct1;
- if([object isEqual:object2])
- {
- NSLong(@"is equal");
- }
- else
- {
- NSLong(@"is not equal");
- }
判断一个string是否为空:
- NSString *shortString = @"HelloWorld";
- if([shortString lengtg] == 0)
- {
- NSLong(@"is empty string");
- }
- else
- {
- NSLong(@"is not empty string ");
- }
循环结构,比如for:
- int increment = 0;
- for (increment = 0; increment < 100; increment++)
- {
- NSLog(increment++);
- }
-(void) method : (int) arguments;
-为方法类型 +表示类方法
-(id) initWithAge:(int) _age identify:(int)_identify
方法名称为initWithAge,第一个参数是(int) _age,第二个参数是(int)_identify
identify其实是对_identify的一个说明,initWithAge对_age一个说明
方法的调用:
1.[类名或对象名 方法名];
2.对象名.方法名
- NSString *s;
- s = [[NSString alloc] initWithString:@Hello iphone4S];
- Person *person = [Person alloc];
- person = [person init];
- -(id) initWithAge:(int)_age identify:(int) _identify
- {
- if(self = [super init])
- {
- age = _age;
- identify = _identify;
- }
- return self;
- }
- NSLog(@"self class is : %@", [self class]);
@class 和import的区别
@class只是用到了声明,如果需要用到这个class里面的方法,还需要import,通常在.h文件里面只需要@class,.m文件里面需要import
oc里面不需要get说明,直接使用:
多个成员变量可以不写get和set,使用property(list) names
@implementation Person
@synthesize myNumber
@end
调用的时候:
NSLog(@"Person number : %d",[person myNumber]);
还有个@property(nonatomic) int number
atomic是多线程的一个保护技术
重载:
定义一个同名的新方法,新方法必须具有相同的返回类型,并且参数的个数和重载的方法相同
class里面的权限控制:
同时也具有public protected private,oc也是单继承
成员变量的new是这样的:
- Person *person = [[Person alloc] init];
但是对应的需要在return之前使用:
- [pool drain]或者[pool release];
drain用于清除pool中对象,release用来释放内存
比如可以这样[person release]
方法调用:
[实例 方法]
[类名 方法]
完整的方法调用格式为:
[接收方 名字1:参数1 名字2: 参数2 名字3: 参数3 ...]
oc运行在一个方法调用中嵌套另一个方法调用,比如:
- [NSString stringWithFormat:[test format]];
另外还有一单,self类似this,可以使用self调用本类中的方法:
- -(BOOL) isQualified
- {
- return ([self age] > 21);
- }
输入输出,和c差不多,也有scanf,输出用NSLog(),占位符前面需要加上@,如果是oc内置类型,比如NSString需要这样:%@
id类型和class的简单使用:
typedef:
和c是一样的
typedef int myInt
myInt age;
BOOL类型
YES、NO
选择器SEL
P44 用到再说
创建一个类
静态成员变量与类方法
static int intY;
+(int) staticIntY
就像上面所写的,需要使用“+”来声明类方法
变量的存储类型:
1、auto、自动局部变量,是缺省设置
2、const
3、volatile,这个修饰符刚好和const相反,它明确地告诉编译器,该变量的值 会发生改变,他用来修饰被不同线程访问和修改的变量
定义@property修饰符来设置成员变量的get和set
修饰符可以是:
实现一个例子P119
MyClass.h:
- //
- // MyClass.h
- // test
- //
- // Created by Dawn on 13-5-27.
- // Copyright (c) 2013年 zeng. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- @interface MyClass : NSObject{
- int intValue;
- float floatValue;
- }
- @property int _intValue;
- @property (copy) NSString *name;
- @property float floatValue;
- @property (readonly, getter = getANickname) NSString *nickname;
- @end
MyClass.m:
- //
- // MyClass.m
- // test
- //
- // Created by Dawn on 13-5-27.
- // Copyright (c) 2013年 zeng. All rights reserved.
- //
- #import "MyClass.h"
- @implementation MyClass
- @synthesize _intValue = intValue, name;
- // 这条语句不是必须的
- @dynamic floatValue;
- -(float) floatValue{
- return floatValue;
- }
- -(void)setFloatValue:(float)aValue{
- floatValue = aValue;
- }
- -(NSString *)getANickname{
- return @"Lee";
- }
- @end
main.m:
- //
- // main.m
- // test
- //
- // Created by Zeng on 13-5-24.
- // Copyright (c) 2013年 zeng. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "YourClub.h"
- #import "Membership.h"
- #import "MyClass.h"
- int main(int argc, const char * argv[])
- {
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- MyClass *class1 = [[MyClass alloc] init];
- [class1 set_intValue:1];
- [class1 setName:@"Sam"];
- [class1 setFloatValue:1.1f];
- NSLog(@"intValue is %i, name is %@, floatValue is %g, nickname is %@", [class1 _intValue], [class1 name], [class1 floatValue], [class1 getANickname]);
- [class1 release];
- [pool release];
- return 0;
- }
在object-c 2.0中,在.h文件中使用@property来标识属性(一般是实例变量);在实现文件中(也就是扩展名为.m的文件),使用@synthesize标识所声明的属性,让系统自动生成设置方法和获取方法。
声明一个多参数的方法:
MyClass.h:
- //
- // MyClass.h
- // test
- //
- // Created by Dawn on 13-5-27.
- // Copyright (c) 2013年 zeng. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- @interface MyClass : NSObject{
- NSString *name;
- int age;
- }
- @property (nonatomic, copy) NSString *name;
- @property (nonatomic) int age;
- -(void) setName:(NSString *)theName andSetTheAge: (int) theAge;
- @end
MyClass.m:
- //
- // MyClass.m
- // test
- //
- // Created by Dawn on 13-5-27.
- // Copyright (c) 2013年 zeng. All rights reserved.
- //
- #import "MyClass.h"
- @implementation MyClass
- @synthesize name;
- @synthesize age;
- -(void) setName:(NSString *)theName andSetTheAge: (int) theAge{
- [self setName:theName];
- [self setAge:theAge];
- }
- @end
main.m:
- //
- // main.m
- // test
- //
- // Created by Zeng on 13-5-24.
- // Copyright (c) 2013年 zeng. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "YourClub.h"
- #import "Membership.h"
- #import "MyClass.h"
- int main(int argc, const char * argv[])
- {
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- MyClass *class1 = [[MyClass alloc] init];
- [class1 setName:@"zengraoli" andSetTheAge:36];
- NSLog(@"name is %@, age is %i", [class1 name], [class1 age]);
- [pool release];
- return 0;
- }
相关推荐
Object-C语言基础: 学习Object-C语言的基本语法和特性,了解Objective-C编程范式和iOS开发规范。 列表选择功能实现: 掌握实现iOS应用中列表选择功能的方法和技巧,包括列表的展示、数据的加载和选择状态的管理等...
通过推荐一系列优质的教程资源,包括官方文档、在线教程和权威课程,文章引导读者从Object-C的基本语法、数据类型和控制结构开始,逐步深入面向对象编程的核心概念。这些教程不仅提供了详细的解释和示例代码,还配备...
Object-C基础语法中文版,介绍了objc的基本语法,适合ios开发入门人员参看。
Objective-C 是一种通用、面向对象的编程语言,广泛应用于 macOS 和 iOS 等苹果平台...本教程提供了 Objective-C 的基本语法和一些示例,希望能够帮助你快速入门 Objective-C 编程,并开始构建 macOS 和 iOS 应用程序。
Object-C的教程可以从基础语法、面向对象编程、集合与泛型、实践项目等多个方面入手。以下是一个简要的Object-C教程框架,帮助你了解学习Object-C所需的基本步骤和内容: 一、Object-C基础语法 变量与数据类型:...
如果你以前使用过其他面向对象编程语言,那么下面的信息可以帮助你学习 Objective-C 的基本语法。许多传统的面向对象概念,例如封装,继承以及多态,在 Objective-C 中都有所体现。这里有一些重要的不同,但是这些...
通过本教程的学习,读者将掌握Objective-C的基本语法和面向对象编程的核心概念,并具备使用Objective-C进行应用开发的能力。然而,Objective-C的学习并非一蹴而就,需要不断的实践和探索。未来,随着技术的不断发展...
object-c入门基础学习,有关于很多object-c的基本语法介绍,类的设计等,很适合初学者的学习资料!
介绍了Object-c的基本语法,适用于高手,也适用于入门者。
因此,Objective-C它完全兼容标准C语言(C++对C语言的兼容仅在于大部分语法上,而在ABI(Application Binary Interface)上,还需要使用extern "C"这种显式声明来与C函数进行兼容),而在此基础上增加了面向对象编程...
如果你以前使用过其他面向对象编程语言,那么下面的信息可以帮助你学习 Objective-C 的基本语法。许多传统的面向对象概念,例如封装,继承以及多态,在 Objective-C 中都有所体现。这里有一些重要的不同,但是这些...
对于初学者是一个好的文档,在你两个小时的时间里就可以对语法有个组基本的了解。
Object C语法快速入门.了能够尽快上手,我们先来看一些简单的例子。Objective-C语法里面基本的方法调用是这样的
ObjectC的语法与Cocoa框架,描述了objective-c的基本语法以及cocoa的框架结构
C这门语言就不得不学会我们都知道C语言是没有面向对象的而Object-C则是ANSIC的一个严格超集它是具有面向对象的特性的由于IPHONE的成功让这门语言现在非常的火热今天笔者为大家介绍一下在xcode中使用Objective-C的...
介绍Object C语法基础 标识符 关键字 OC基本数据类型 运算符 表达式和语句 分支和循环 变量的作用域
就可以把object-c的语言该要掌握的重点就描述清楚,如果看苹果官方的文档或者是xcode中的开发文档,真的云里雾里的,一个简单的问题非要整个长篇大论,我看了前两章后,就基本上把object-c的语言特点掌握了,算是...
同时,你还需要熟悉Objective-C的语法和特性,如内存管理、协议和代理等。 构建和编译:在编写完代码后,你需要构建和编译你的项目。Xcode提供了构建和编译的功能,它会将你的源代码转换成可执行文件。在编译过程中...
这本书是我的ios入门指导用书,零基础跟着书里代码走了一遍基本上就搞懂object-c的语法,然后做项目的时候把它当做开发文档翻看,每次看都有不一样的体会,很不错