`

objetive-c 一些论点

 
阅读更多

一、实现类的私有属性和方法,即JAVA中CLASS定义PRIVATE字段和方法

 

@interface DetailViewController ()
@property (nonatomic, retain) UIPopoverController *popoverController;
- (void)configureView;
@end



@implementation DetailViewController

@synthesize toolbar, popoverController, detailItem, detailDescriptionLabel;
@synthesize webView;

- (void)configureView {
    // Update the user interface for the detail item.
    detailDescriptionLabel.text = [detailItem description];   
	
	// webView load reauest
	[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:detailItem]]];
}

……………………

 

 

 

二、继承

OC不支持多重继承,继承是通过代理和协议相关属性来实现,代码如下

 

#import <Foundation/Foundation.h>
@interface ClassA:NSObject
{
    int n;
}
-(void) initVar;
-(void) setVar:(int) m;
-(void) print;
@end

@implementation ClassA
-(void) initVar
{
    n=406;
}
-(void) setVar:(int) m
{
    n=m;
}
-(void) print
{
    NSLog(@"n=%i",n);
}
@end

@interface ClassB:ClassA
-(void) printVar;
@end

@implementation ClassB
-(void) printVar
{
    NSLog(@"n=%i",n);
}
@end

int main(int argc, const char * argv[])
{
    @autoreleasepool{
        ClassA *clsA=[[ClassA alloc] init];
        ClassB *clsB=[ClassB new];
        [clsB initVar];
        [clsB printVar];

        [clsA setVar:10];
        [clsA print];
        [clsB printVar];


    }
    return 0;
}

 

 

 

三、类型判断

 

if([obj iskindOfClass:[NSString class]]){
  //do something
}


NSObject 方法: 

-(BOOL) isKindOfClass: classObj 用来判断是否是某个类或其子类的实例 

-(BOOL) isMemberOfClass: classObj 用来判断是否是某个类的实例 
-(BOOL) respondsToSelector: selector 用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递) 
+(BOOL) instancesRespondToSelector: selector 用来判断实例是否有以某个名字命名的方法. 和上面一个不同之处在于, 前面这个方法可以用在实例和类上,而此方法只能用在类上. 

-(id) performSelector: selector 执行某个方法 

 此节内容在IPAD和IPHONE应用开发的第三课的52:32处

分享到:
评论

相关推荐

    objective-c编程入门学习笔记

    涵盖了objetive-c语言的所有基本知识,变量、函数、打印、屏幕输入,教程内附完整笔记源码

    Objective C基础教程(第2版

    都是用Objetive-C 写成,所以MacOS X上的开发最佳语言自然也就是Objective-C 了。 Object-C是由 Brad Cox在80年代初在第一个纯面向对象语言Smalltalk基础上写成。后来他创立了StepStone公司从事Objective-C的...

    最新四大热门语言

    在过去的一两年里编程领域迎来了翻天覆地的变化,如果说C,JAVA这些在过去几年里风靡全球,抢占Tiobe榜单,那么在如今移动领域兴起的年代 ,objetive-C也给Java造成很大的冲击。在编程领域没有“一招鲜,吃遍天”的...

    Objective-C程序设计(第4版)

    这是Objective-C程序设计(第4版)pdf版的,里面有我自己看过后做的笔记之类的,希望在大家阅读感到不清楚的时候能够提供大家一些帮助。

    TopTabControl:类似于网易新闻主界面中切换菜单的一个空间,定制自由度高。(a custom tab menu switch control)

    使用arc,xcode6.1 编译1、点击菜单自定切换内容页面2、滑动内容页面菜单自动剧中3、用户只需要关注菜单的展示和页面的展示就行了Objetive-C下面是协议:/** @brief TopTabControl datasource 需要支持的协议 */@...

    objetive C Iphone 开发指南集锦

    我搜集的objective c,iphone开发资料集锦,打包下载,包含: Programming+in+Objective-C+2.0.pdf BecomeAnXcoder(SChinese).pdf 如何搭建iPhone程序开发环境+.doc IPhone+1.1.4开发环境配置说明.pdf Carbon-Cocoa...

    github-user-fetcher-ios

    目标开发一个移动应用程序,... 带有回购协议的URL: ://api.github.com/search/repositories q language:Java sort stars page 如果要测试iOS位置,则可以使用Swift和/或Objetive-C。 对于Android,请使用Java。

    Objective C经典教程

    Objetive C经典教程 Learn Objective-C on the Mac(Mark Dalrymple, Scott Knaster)

    Notifications10ObjC:iOS 10 Objective-C中的推送通知

    iOS 10中的推送通知[Objective-C] iOS 10 SDK引入了称为“ UserNotifications”的新框架。 (UserNotifications.framework)支持本地和远程通知的传递和处理。 因此,让我们看看我们需要做些什么才能在iOS 10中...

    pureMVC开源框架,一个使用该框架的测试程序

    pureMVC开源框架,使用该框架的测试程序,非常适合初学者学习

    pureMVC code

    pureMVC开源框架的源码,非常适合初学者学习

    gui2py, 简单而强大的用于敏捷开发的GUI框架.zip

    gui2py, 简单而强大的用于敏捷开发的GUI框架 gui2pygui2py是一个使用 python 语言和wxPython工具包在 Windows 。Mac OS X 和Linux上构建跨平台"视觉"桌面应用程序的GUI框架。它的objetive是发展 PythonCard 与web

    plyprotobuf:用于PLY的协议缓冲区词法分析器

    PLY Protobuf [Protocol Buffers] 用Python为[PLY] 编写的词法分析器和解析器。 使用此库,您可以使用Python创建和处理协议缓冲区文件的树。 有关用法示例,请参见demo.py ... [Protocol Buffers Objetive

Global site tag (gtag.js) - Google Analytics