`

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处

分享到:
评论

相关推荐

    支持各种编程语言公历(阳历) 农历(阴历)转换

    公历(阳历) 农历(阴历)转换,支持时间段从 1900-2100 ...支持各种编程语言 C#,java,Objective-C,php,Python,javascript(nodejs),C/C++,ruby,swift,golang 等 支持 Mac,Windows,Android,WP 多种平台

    Objective C基础教程(第2版

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

    下拉列表的实现20190108_Objective-C_ios_OC语言_下拉列表_

    Objective-C作为苹果官方支持的iOS开发语言之一,提供了一些方法来实现下拉列表的效果。以下我们将详细探讨如何在Objective-C中实现这一功能。 首先,我们需要了解iOS中的两种主要控件,它们可以用于模拟下拉列表的...

    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。

    pureMVC code

    在Objective-C这个面向对象的语言中,PureMVC提供了强大的工具来支持iOS应用开发。 标题中的"pureMVC code"指的是PureMVC框架的源代码,这对于开发者来说是一份宝贵的学习资源。通过阅读和理解源代码,你可以深入...

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

    **PureMVC 开源框架详解** ...总之,PureMVC 作为一个强大的框架,为 Objective-C 开发者提供了一种高效、可复用的代码组织方式,尤其适合初学者入门和提高。通过深入理解和实践,你将能更好地应对复杂的软件开发挑战。

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

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

    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

    计算机视觉技术的研究与应用.pdf

    计算机视觉技术的研究 objetive 是使计算机具备人体的视觉机能,研究者利用相机等成像设备结合图像处理软件进而使计算机可以模拟人类的视觉。早期计算机视觉与图像处理、模式识别并没有明确的划分,泛指一切使 用...

Global site tag (gtag.js) - Google Analytics