houmee实习日记3.28

java tool:

Keytool是Oracle JDK的一部分。Keytool很少用于开发环境,然而如果你正在开发企业级应用时,这将是你最好的密钥和证书管理工具。

Jad用于反编译Java类。你可以用Jad以纯文本的形式命令和阅读代码。

Notepad++是用于编辑xml、脚本以及记笔记的最佳工具。这个工具的最好部分在于,你在Notepad++上打开的任何一个文档,在关闭后都会有一个残留文档,它有助于在意外删除重要文档,还有办法恢复。Notepad++是一款非常有特色的编辑器,是开源软件,可以免费使用。

-----------上面还是一些java的使用工具--------------

-----------由于公司需要接入ios的appstore的storekit的内置游戏支付功能------------所以我又逗比的花了几天时间去学习OC


OCstudy

//NSLog(@"我有一只小毛驴!"); NS代表 next software公司遗留下来的

//而@字符表示后面的字符串是NSString类型的字符串

//BOOL值为YES,NO,而不是ture,false,8位二进制

//

   int _age;  //@interface中变量默认是@public

   @protected

   int _height;   //只能在当前类和子类的对象方法中访问

   @pritate

    int _weight; //只能在当前类的对象方法中才能直接访问

   @package

   NSString *_name;//只能在当前框架内使用

//

   NSString *birthday;//@implementation中变量默认是@private

1.在Xcode工程里 Build Phase —>Link Binary With Libraries —>添加类库StoreKit.framework

然后在游戏里面调用storekit里面的接口


@property用法:

@property编辑

本词条缺少概述信息栏名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

目录

1

简介

2

格式

3

参数类型详解

getter分析

setter分析






1

简介

编辑

Objective-C语言关键词,与@synthesize配对使用。xcode4.5以及以后的版本,@synthesize可以省略

下面以 Person 类为例:

. h 文件中:

@interface Person : NSObject

{

NSString * _name;

NSString * _sex;

NSInteger _age;

}

@property NSString * name;

@property NSString * sex;

@property NSInteger age;

表示声明了三个属性: name,sex,age, 默认生成3个对应的 setter getter 方法

. m 文件中:

@implementation Person

@synthesize name = _name;

@synthesize sex = _sex;

@synthesize age = _age;

@end

表示实现3 setter getter 方法,其中 name = _name 表示说在 getter setter 方法中操作的实力变量是_name,如果省略了_name,_age,_sex, 那么会在. h 文件中生成同名的实例变量 name,sex,age(注意:这里并没有下划线),此时生成的 setter getter 方法所操作的实例变量是 name,sex,age, 所以_name,_sex,_age 并没有被操作.

ios5.0,@synthesize也可以省略不写,此时在. h 文件中只写@ property 即可,编译器会自动生成相应的实例变量,实例变量的名字是属性名称前加下划线.




2

格式

编辑

声明property的语法为:

@property (参数1,参数2) 类型 名字;

如:

@property(nonatomic,retain) UIWindow *window;

其中参数主要分为三类:

读写属性: readwrite/readonly

setter语意:(assign/retain/copy

原子性: atomicity/nonatomic

各参数意义如下:

readwrite

产生setter\getter方法

readonly

只产生简单的getter,没有setter

assign

默认类型,setter方法直接赋值,而不进行retain操作

retain

setter方法对参数进行release旧值,再retain新值。

copy

setter方法进行Copy操作,与retain一样

nonatomic

禁止多线程,变量保护,提高性能




3

参数类型详解

编辑

参数中比较复杂的是retaincopy,具体分析如下:




getter分析

1 @property(nonatomic,retain)test* thetest;

@property(nonatomic ,copy)test* thetest;

等效代码:

-(test*)thetest

{

return thetest;

}

2@property(retain)test* thetest;

@property(copy)test* thetest;

等效代码:

-(test*)thetest

{

[thetest retain];

return [thetest autorelease];

}




setter分析

1

@property(nonatomic,retain)test* thetest;

@property(retain)test* thetest;

等效于:

-(void)setThetest:(test *)newThetest {

if (thetest!= newThetest) {

[thetestrelease];

thetest= [newThetest retain];

}

}

2@property(nonatomic,copy)test* thetest;

@property(copy)test* thetest;

等效于:

-(void)setThetest:(test *)newThetest {

if (thetest!= newThetest) {

[thetestrelease];

thetest= [newThetest copy];

}

}


转载于:https://my.oschina.net/u/1862653/blog/401846

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值