设为首页 加入收藏

TOP

学习ios【1】Objective-C 基本语法(一)
2017-10-13 10:17:08 】 浏览:898
Tags:学习 ios Objective-C 基本 语法

一 了解一下,找参考资料

1.看书学习object-c语法,第一本看的是《objective-c程序设计》。

2.官网:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html

二 定义类

1. 格式

object-c中定义类的方式和c#不同,它分为两个部分,一般放在两个独立的文件中:

①在@interface部分声明类,文件格式.h;

②在@implementation部分实现类,文件格式.m。

2.@interface 部分

Fraction.h

#import <Foundation/Foundation.h>

@interface Fraction : NSObject
-(void)setAge:(int)age;
-(int)getAge;

@end

以上代码有几点说明:

①NSObject是默认的父类;

②方法前面的负号(-)表示这是一个实例方法;如果是正号(+)表示这是一个类方法。

3. @implementation 部分

Fraction.m

#import "Fraction.h"

@implementation Fraction
{
int _age;
}
-(void)setAge:(int)age
{
_age=age;
}
-(int)getAge
{
return _age;
}

@end

4.调用

注意:@autoreleasepool引入了自动计数处理内存释放问题;看一下对象初始化和方法调用的格式。

main.m

#import <Foundation/Foundation.h>

#import "Fraction.h"

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

//对象初始化
Fraction *fraction=[Fraction alloc];
        fraction=[fraction init];

//调用方法
        [fraction setAge:100];
int age=[fraction getAge];

//打印结果
NSLog(@"the age is %i",age);
    }

}

三 基本数据类型

1. 基本类型

object-c的几种基本数据类型: int ,float,double,char

image

2.float类型

NSLog转换字符为 %f或者%g

NSLog(@"The float result is %f",f);//The float result is 1.230000

NSLog(@"The float result is %g",f);//The float result is 1.23

3.字符串

用@开头并且放在双引号中的字符串是NSString字符串类型。

各类型的NSLog输出转换如下:
int main(int argc,const char* argv[]){
    @autoreleasepool{
        int a=100;
        NSLog(@"the integer value is %i",a);
        float f=1.23;
        NSLog(@"The float result is %f",f);//The float result is 1.230000
        NSLog(@"The float result is %g",f);//The float result is 1.23
        double d=1.2345;
        NSLog(@"The double value is %e",d);//The double value is 1.234500e+000
        char c='V';
        NSLog(@"The char value is %c",c);//The char value is V
    }
    return 0;

}

4.id类型

id数据类型可以存储任何类型的对象。id类型是多态和动态绑定的基础。

5.布尔类型

objective-c中的布尔值是YES和NO.

int main(int argv,const char * argc[])
{
@autoreleasepool {
for(int i=2;i<=50;i++)
        {
bool isPrime=YES;
for(int j=2;j<i;j++)
            {
if(i%j==0)
                {
                    isPrime=NO;
continue;
                }
            }
if(isPrime==YES)
          &nb

首页 上一页 1 2 3 4 5 6 下一页 尾页 1/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇按钮在cell上的高亮状态出现的慢 下一篇iOS 学习 - 8.TableViewCell 自适..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目