javaee论坛

普通会员

225648

帖子

324

回复

338

积分

楼主
发表于 2019-11-08 13:23:17 | 查看: 552 | 回复: 2

2、id类型可以代表所有对象的类型,可以任何类的对象赋值给id类型变量

idp=[[Personalloc]init];[psay:@"hello"];

3、oc没有类变量,但是可以通过内部全局变量来模拟类变量oc也提供了static关键字,但是static不能用于修饰成员变量,只能修饰局部变量,全局变量和函数,static修饰局部变量表示将该局部变量存储在静态存储区,static修饰全局变量用于限制全局变量只能在当前源文件中访问,static修饰函数用于限制函数只能在当前文件中调用

模拟类变量

User.h文件如下

#import<Foundation/Foundation.h>@interfaceUser:NSObject+(NSString*)nation;+(void)setNation:(NSString*)newNation;@end

User.m文件如下

#import"User.h"@implementUserstaticNSString*nation=nil;+(NSString*)nation{returnnation;}+(void)setNation:(NSString*)newNation{nation=newNation;}@endintmain(intargc,char*argc[]){@autoreleasepool{[UsersetNation:@"chenyu"];NSLog(@"nationis%@",[Usernation]);}}

4、单例模式

Singleton.h文件如下

#import<Foundation/Foundation.h>@interfaceSingleton:NSObject+(id)instance;@end

Singleton.m文件如下

@implemnetSingletonstaticidinstance=nil;+(id)instance{if(instance){instance=[[supermalloc]init];}returninstance;}@endintmain(intargc,char*argc[]){@autoreleasepool{NSLog(@"%d",[Singletoninstance]==[Singletoninstance]);}}

普通会员

2

帖子

289

回复

302

积分
沙发
发表于 2019-12-22 03:08:35

楼主说得对

普通会员

0

帖子

284

回复

292

积分
板凳
发表于 2024-01-15 14:14:43

围观

您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017