当前位置:  编程技术>移动开发
本页文章导读:
    ▪object-c基础札记1        object-c基础笔记11.方法声明:  -(void) setNumerator: (int) d; -代表对象方法,+代表类方法(静态方法) (void):返回值 setNumerator:方法名 (int) d:第一个参数类型和参数名 2.obc可调用c++代码(.mm结.........
    ▪ 【秋天十一月】杭州GDG新活动 GDG mini DevFest,欢迎加入        【金秋十一月】杭州GDG新活动 GDG mini DevFest,欢迎加入一.  杭州GDG mini DevFest(谷歌开发者节) 时间:11月10日 周六 下午13点开始;地点:杭州市西湖区文一西路75号(杭州数字娱乐产业园.........
    ▪ MDCC翻新应用展最终获奖名单公布:TOP5年度最佳应用及人气应用       MDCC创新应用展最终获奖名单公布:TOP5年度最佳应用及人气应用MDCC大会已经顺利落下帷幕,作为特色活动之一的“创新应用展”吸引了众多优秀的开发团队和应用作品。参展的应用各具特色.........

[1]object-c基础札记1
    来源: 互联网  发布时间: 2014-02-18
object-c基础笔记1

1.方法声明:

 -(void) setNumerator: (int) d;

-代表对象方法,+代表类方法(静态方法)

(void):返回值

setNumerator:方法名

(int) d:第一个参数类型和参数名


2.obc可调用c++代码(.mm结尾)

3.#import取代#include,可以防止重复include

4.字符串:NSString

NSString *string1 = @"abc";//字符串常量前必须加@

5.类声明:

Fraction.h

§  #import <Foundation/NSObject.h>

§   

§  @interface Fraction: NSObject {

§      int numerator;

§      int denominator;

§  }

§   

§  -(void) print;

§  -(void) setNumerator: (int) d;

§  -(void) setDenominator: (int) d;

§  -(int) numerator;

§  -(int) denominator;

§  @end


继承(inheritance)以 Class: Parent 表示,就像上面的 Fraction: NSObject。

夹在 @interface Class: Parent { .... } 中的称为 instance variables。

没有设定访问权限(protected, public, private)时,预设的访问权限为protected。属性有权限,方法没有权限声明,都是public

方法如果有多个参数,除第一个参数外,后面参数都要有一个lable,这个跟其他语言非常不一样:

-(void) setX:(int)x:andSetY:(int)y;

这个函数名实际上就是setX:andSetY:

调用时第二个及以上的参数也要加上lable:

[this setX:1 andSetY:2]

类实现:

  Fraction.m
§ #import "Fraction.h"
§ #import <stdio.h>
§
§ @implementation Fraction
§ -(void) print {
§ printf( "%i/%i", numerator, denominator );
§ }
§
§ -(void) setNumerator: (int) n {
§ numerator = n;
§ }
§
§ -(void) setDenominator: (int) d {
§ denominator = d;
§ }
§
§ -(int) denominator {
§ return denominator;
§ }
§
§ -(int) numerator {
§ return numerator;
§ }
@end


调用:

main.m
§ #import <stdio.h>
§ #import "Fraction.h"
§
§ int main( int argc, const char *argv[] ) {
§ // create a new instance
§ Fraction *frac = [[Fraction alloc] init];
§
§ // set the values
§ [frac setNumerator: 1];
§ [frac setDenominator: 3];
§
§ // print it
§ printf( "The fraction is: " );
§ [frac print];
§ printf( "/n" );
§
§ // free memory
§ [frac release];
§
§ return 0;
}

除了基本的数据类型(如int,NSUinteger(用宏定义的无符号int))和结构体(如NSRange)外,其余对象都是用指针来操作的

6.obc只能单继承

7.super代表父类对象指针,this代表本对象指针

8.默认的构造函数为

-(void) init

也可以叫其他名字:

-(Fraction *) initWithNumerator:(int)n denominator:(int)d

{

    self = [super init];

       if(self){//等同于(self != Nil)
 [self setNumerator: n andDenominator: d];//setNumerator是另一个方法,带2个参数,设置两个成员变量的值
}

   return self;  

}

9.属性权限声明

Access.h
§ #import <Foundation/NSObject.h>
§
§ @interface Access: NSObject {
§ @public
§ int publicVar;
§ @private
§ int privateVar;
§ int privateVar2;
§ @protected
§ int protectedVar;
§ }
@end


Access.m
§ #import "Access.h"
§
§ @implementation Access
@end


main.m
§ #import "Access.h"
§ #import <stdio.h>
§
§ int main( int argc, const char *argv[] ) {
§ Access *a = [[Access alloc] init];
§
§ // works
§ a->publicVar = 5;
§ printf( "public var: %i/n", a->publicVar );
§
§ // doesn't compile
§ //a->privateVar = 10;
§ //printf( "private var: %i/n", a->privateVar );
§
§ [a release];
§ return 0;
}


10.静态方法直至用类名调用:

[ClassName staitcMothedName]


11.init,initialize,load:

initialize相当于java中的static区块:

pubic Class A{

static{

  a = 0;

}

private int a;

}

在类第一次加载的时候调用,并且会先调用父类的static区块

load是程序打开后就会执行的,相当于c++的静态变量,c++最先执行的是静态变量的初始化

load也是先调用父类再调用自己

init:默认的构造函数,先父类再自己

12.异常:

抛出异常:

   NSException *e = [NSException
§ exceptionWithName: @"CupUnderflowException"
§ reason: @"The level is below 0"
§ userInfo: nil];
§ @throw e;

  @try {
 ...
} @catch ( NSException *e ) {
...
 }

@finally

{

...

}

13.id类型用于指代任意对象的指针,相当于void *,但是只能指向对象,不能指向基本类型,obc跟java和c++不一样,不需要知道对象的类型就可以调用方法,即可以用id做为指针调用其指向对象的方法,而不需要强转


14.子类的指针不能赋值给父类的指针


15.-(void) setX:(int)x: andSetY:(int)y;

obc通常这样声明一个函数,可以任务函数名作为第一个参数的标签,所有参数的标签加起来才代表整个函数的意义








-






d

d




    
[2] 【秋天十一月】杭州GDG新活动 GDG mini DevFest,欢迎加入
    来源: 互联网  发布时间: 2014-02-18
【金秋十一月】杭州GDG新活动 GDG mini DevFest,欢迎加入
一.  杭州GDG mini DevFest(谷歌开发者节)

时间:11月10日 周六 下午13点开始;地点:杭州市西湖区文一西路75号(杭州数字娱乐产业园)3号楼3楼

简要日程:

13:00 – 13:15  签到

13:15 – 13: 55 Bill Luan: 《DevFest及GDG情况介绍》

14:00 – 14:45  Holly Lee: 《Android&NDK》

14:45 – 14:55  Q&A

15:00 – 15:45  Phus Lu: 《Golang&Go*gent》

15:45 – 15:55  Q&A

15:55 – 16:15  茶歇

16:15 – 16:45  杭州GDG: 《Google IO 2012 设备Show》

16:45 – 17:15  杭州GDG: 《Android&ADK》
17:15 – 20:00  杭州GDG: Android、Golang等趣味编码或解题比赛,提供点心及会后聚餐

活动介绍页面

 

二. 杭州GDG周三聚会

(本期话题是Golang,原定的为11月14日,但与11月10日 DevFest的Golang话题很近,所以合并)

时间:周六 下午18点开始;地点:杭州市西湖区文一西路75号(杭州数字娱乐产业园)3号楼3楼

活动介绍页面





    
[3] MDCC翻新应用展最终获奖名单公布:TOP5年度最佳应用及人气应用
    来源: 互联网  发布时间: 2014-02-18
MDCC创新应用展最终获奖名单公布:TOP5年度最佳应用及人气应用

MDCC大会已经顺利落下帷幕,作为特色活动之一的“创新应用展”吸引了众多优秀的开发团队和应用作品。参展的应用各具特色,范围涵盖社交、工作、娱乐、生活服务等多个方面,这也体现了移动应用开发所具备的强大潜力,同时MDCC大会这个平台也为广大开发者提供了良好的展示机会,让越来越多的高质量应用被发现,被挖掘。

创新应用展(App Lounge)是专门为创新应用团队打造的舞台。通过对参展应用的产品创新性、设计、性能,参会者对现场演示的反馈以及专家推荐和用户评论等方面,我们最后从30个入围作品中评选出了5个年度最佳应用和2个人气应用。

以下是本次MDCC大会创新应用展 Top 5年度最佳应用获奖名单及获奖理由:

  • 应用名称:课程格子
    作品类型:社交
    开发团队:计划FM团队

    获奖理由:表面以大学课程表为载体,实际注重移动社交。从头脑风暴,到产品设计,到北大封闭测试,到用户冲到20万,都在极短的时间内完成。创新的产品设计、流畅的用户体验、稳定的性能,都透着一股出众的气质,使其成为众多社交产品中的“高富帅”。

    课程格子

  • 应用名称:虫洞语音助手
    作品类型:工具
    开发团队:光年团队

    获奖理由:没有显贵的出身,却踊跃成为国内Android平台的语音助手工具中的一位大明星!语音识别准确度让人满意,强大的功能依然贯彻有趣实用的风格。引入了开放API,根据用户提供的关键字进行网络搜索,反馈出更多合适的答案。

    虫洞语音助手

  • 应用名称:鲸鱼岛的冬天
    作品类型:儿童教育
    开发团队:“斑马骑士”团队

    获奖理由:“跨界和混搭”的团队、执着的梦想,造就了这款精致美丽、极富动感的儿童交互游戏,向我们展示了如何通过声控、手势控制和Stage 3D图形渲染等技术,将一个童话世界变得栩栩如生的实例。

    鲸鱼岛的冬天

  • 应用名称:被错过的天堂
    作品类型:解密类游戏
    开发团队:3000GAME工作室

    获奖理由:界面画风新奇,情节设计诡异,程序设计出色。坚持极简设计,创新地在传统解密游戏中加入了多重结局以及多模式转换玩法,巧妙地在众多大团队、大创作、大手笔的游戏作品中脱颖而出。

    被错过的天堂

  • 应用名称:出门儿
    作品类型:生活服务
    开发团队:移花互动“酒店达人”团队

    获奖理由:当其它一些应用不断将原有功能模块进行分拆做减法之时,“出门儿”则是走了相反的整合加法之路,将酒店、机票、电影票、美食、火车票与租车服务碎片化体验进行无缝整合,推出一站式移动出行。

    出门儿

以下是本次MDCC大会创新应用展 人气应用获奖名单及获奖理由:

  • 应用名称:布丁电影票
    作品类型:生活服务
    开发团队:布丁团队

    获奖理由:作为创新工场孵化的首个O2O项目,布丁的应用始终都能吸引大众的眼球。新版本支持包括iPhone 5在内的各种机型,出色的交互设计使其卓尔不群。

    布丁电影票

  • 应用名称:RockPlayer
    作品类型:工具
    开发团队:改变科技团队

    获奖理由:凭借专为移动设备优化的播放核心以及高度优化的FFMpeg解码器,RockPlayer已经成为了Android平台上性能最高支持格式最广泛的视频播放软件。刚刚登录App Store的RockPlayer表现不凡。

    RockPlayer

创新应用展(App Lounge)依托于MDCC移动开发者大会,拥有良好的用户、开发者、产品展示、推广等多方面资源。本次活动取得了巨大成功,希望移动开发领域能够涌现出更多优秀的产品,为用户提供更优质的服务,为移动互联网添砖加瓦。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3