Objective-C语法学习-具有多个参数的方法
Objective-C如何实现多参数输入呢?
先复习一下objc怎么传递参数,例如:
[objc] //声明部分 -(void)setNumerator:(int)n;
//测试部分 [myFraction setNumerator:1]; [/objc]
通过方法名后面跟上冒号,表示接受的参数。
Objective-C如何实现多参数输入呢?
先复习一下objc怎么传递参数,例如:
[objc] //声明部分 -(void)setNumerator:(int)n;
//测试部分 [myFraction setNumerator:1]; [/objc]
通过方法名后面跟上冒号,表示接受的参数。
在objc中,可以自动生成设置函数方法和获取函数方法(统称为存取器方法)。
第一步是在接口部分中使用@property指令标识属性。这些属性通常是实例变量。在Fraction类中,两个实例变量numerator和denominator都属于此类属性。例如:
我们知道了Objective-C中传递参数的方式,但是如果我们需要把一个实例对象作为参数传递时该如何做呢?
假设我们有一个Fraction类,现在我们有一个方法需要接受它自己的实例对象,那么我们可以这样做:
[objc] @interface Fraction:NSObject … @end [/objc]
NSObject是所有类的根类,Fraction由NSObject派生而来。类Fraction称为子或者子类(subclass)。所有未明确继承父类的类都默认继承NSObject。
与Java不同,objc中的Long是用来修饰其他类型的,比如
如果直接把限定词long放在int声明之前,那么所声明的整型变量在某些计算机上具有扩展的值域。例子如下:
什么是接口?
实例接口(Object Interface),在Java中声明一个类,然后用new关键字产生一个实例,它是对一个类型的实物的描述,这是一种接口。Java中的类也是一种接口。
很多想开发iOS,或者正在开发iOS的程序员以前都做过Java或者C++,当第一次看到Objective-C的代码时都会头疼,Objective-C的代码在语法上和Java, C++有着很大的区别,有的同学会感觉像是看天书一样。不过,语言都是相通的,有很多共性。下面列出Objective-C语言的语法和Java,C++的对比,这样你就会很容易Objective-C的语法是怎么回事了。
| 语言别名 | 语言代码 | 说明 |
|---|---|---|
| as3 | as3 | 不知道是否支持AS2? |
| actionscript3 | as3 | |
| bash | bash | 竟然还支持Shell. |
| shell | bash | |
| coldfusion | coldfusion | |
| cf | coldfusion | |
| clojure | clojure | |
| clj | clojure | |
| cpp | cpp | |
| c | cpp | |
| c-sharp | csharp | |
| csharp | csharp | |
| css | css | |
| delphi | delphi | 看来Delphi和Pascal确实有一腿啊! |
| pas | delphi | |
| pascal | delphi | |
| diff | diff | |
| patch | diff | |
| erl | erlang | |
| erlang | erlang | |
| fsharp | fsharp | |
| groovy | groovy | |
| java | java | |
| jfx | javafx | |
| javafx | javafx | |
| js | jscript | 从这里可以看出,针对JavaScript的代码,写js行,写javascript行,甚至是微软的jscript都行。 |
| jscript | jscript | |
| javascript | jscript | |
| latex | latex | Not used as a shortcode |
| tex | latex | |
| matlab | matlabkey | |
| objc | objc | |
| obj-c | objc | |
| perl | perl | |
| pl | perl | |
| php | php | |
| plain | plain | |
| text | plain | |
| ps | powershell | |
| powershell | powershell | |
| py | python | |
| python | python | |
| r | r | Not used as a shortcode |
| splus | r | |
| rails | ruby | 针对Ruby的。 |
| rb | ruby | |
| ror | ruby | |
| ruby | ruby | |
| scala | scala | |
| sql | sql | |
| vb | vb | |
| vbnet | vb | |
| xml | xml | 针对XML、HTML以及XHTML等,其实都是按照XML来处理的 |
| xhtml | xml | |
| xslt | xml | |
| html | xml | |
| xhtml | xml |
public class
extends Object
| [java.lang.Object](http://developer.android.com/reference/java/lang/Object.html) | |
| ↳ | android.support.v4.app.NavUtils |
NavUtils为应用实现Android UI所推荐的导航模式提供了辅助功能.关于推荐导航模式的相关信息请参考开发者指南中的 Tasks and Back Stack 和设计指南中的 Navigation .