Swift

Apple's new place of OC for a high-level programming language!

Generics

Generics are another important object-oriented concepts in,In addition to multi-state,It further increases the range of reuse code,For Swift language,,Generics throughout its always。

From Print() Speaking

We start from the first day of class in the use of this global function,It allows us to show the statement on the screen,Very simple to use,It can pass a string。

Incoming string displayed string[……]

Click link to continue reading...

Always given:Exception Handling

This lesson we get to know about the Swift error handling

In calling the method and the time to write a wheel,There will always be wrong sorts of weird,Normal is already compiled software,Some unexpected errors also occur。but,Among these errors,There are some that can be identified and captured - they can be expected。

Predictable error

Why do we say that there are some errors that can be expected to get it? For example,[……]

Click link to continue reading...

Static methods and static properties

Not all of the dynamic

we all know,The method is put in the running instance。That is the result of the implementation of the method is based on the instance property came,The property is an example of the current state of change - we call it "dynamic"。

But really all it is dynamic? In fact, not,Some methods give results which will directly and according to your call,It does not need to generate change according to the change instance attributes - that it is produced anyway[……]

Click link to continue reading...

Lifetime:Automatic Reference Counting

In front of so many bedding,Now finally we want to address this thing the garbage collector。

ARC

This is not the Ark ...... This is automatic reference counting (Automatic Reference Counting),This thing is used to manage Apple memory。

Its function is that the garbage collector on the garbage heap。It would not have been able to ensure that all heap objects that reside in the running to be released in the heap。Ensures that[……]

Click link to continue reading...

Initializer

At the end of the previous lesson,We finally made clear the process of creating an object,Then,Speaking create an object looks like is to call a method,This method may in the end what is it?

Initializer

Not wrong,When we initialize a class object when,We did call a method - initializer。

Initializer method is actually a special provision of the,It is possible for the class to initialize。

Let's imagine,[……]

Click link to continue reading...

"Stack":In the end what happened "heap",What is a "stack"?

It's time to look at the living space objects and methods - and want to learn object-oriented,I do not know where to put the methods and objects is a very embarrassing thing - after all, we still have to face the garbage collector,Want to make the garbage collector to help you do more,We have to understand its working mechanism to some extent,Learn how and where to store objects,if not,You have to write a program to the vulnerable!

Courses in front of us[……]

Click link to continue reading...

"Fatal square":Multiple inheritance and protocols

Last time we mentioned agreement,But we talk about it the way an application,This lesson we take a deeper look at this class and used up almost exactly what profound esoteric protocol。

Now,We again review the shameful inheritance tree once:

Here we wrote a weapon ...... is used for attack and defense。Then,As a game,Model weapons can not just only in one place[……]

Click link to continue reading...

protocol:Allowed instantiated class and method must be rewritten

Rewriting said method,We come back to look at the inheritance tree:

This should look okay,We can create an instance of the sword,Create an instance of a pistol ......

But if I have to write it?

So the question is:excavator……

Do not,Our problem is "weapon" in the end is what?[……]

Click link to continue reading...