- 博客(358)
- 资源 (1)
- 收藏
- 关注
原创 UIButton
import UIKit@UIApplicationMainclass AppDelegate:UIResponder, UIApplicationDelegate { var window: UIWindow? func application(applicatio
2014-08-24 16:45:52 452
原创 UIViewController
UIViewController中的view属性通常会在load view函数中被创建,要么从提供的nib文件,storyboard文件创建,要么创建一个空的view。UIViewController中的view被认为显示的超级view,通常创建自己的view时,直接调用UIViewController.view.addSubview就可以。当UIWindow中,只有一个UIViewCon
2014-08-24 11:59:46 567
原创 单词笔记
モコモコ 【もこもこ】 【mokomoko】① (1)衣服很厚很臃肿的样子。(衣類などが厚くふくらんださま。)形見 【かたみ】 【katami】(1)纪念(品)。〔記念品。〕 …の形見としておくる。/作为……的纪念(品)赠送。 外国旅行の形見。/国外旅行的纪念。 (2)遗物。〔遺品。〕 父のただひとつの形見。/父亲唯一的遗物。 死んだ
2014-08-20 21:35:56 605
原创 UIVIew
UIViewController中的view属性通常会在load view函数中被创建,要么从提供的nib文件,storyboard文件创建,要么创建一个空的view。UIvi e w
2014-08-17 16:11:22 697
原创 UIWindow
import UIKit@UIApplicationMainclass AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication!, didFi
2014-08-14 23:29:06 865
原创 UIApplicationMain笔记
//由于main函数始终不变,UIApplicationMain前三个不变,只有最后一个参数用户会去修改。所以在swift中main被集成到xcode中,UIApplicationMain前面加上@,紧跟着需要定义的类就是代理类。代理类可以是任意的名字,只需紧跟在@UIApplicationMain后,并且实现UIResponder, UIApplicationDelegate即可。/
2014-08-14 12:27:44 759
原创 基础知识
info.plistInformation property listAPP沙盒的位置;可以ctrl+shift+G快速进入文件夹,也可以在终端进入。/Users/high/Library/Developer/CoreSimulator/Devices这里面放置自己编译过的App的内容。这些App会在Simulator中显示。如果没有其他特殊接口,App
2014-08-14 10:09:10 551
原创 Using Swift with Cocoa and Objetive-C
// Using Swift with Cocoa and Objetive-C/*import处理会做如下三件事情:1.讲OC的类型转换为swift的类型,比如id to AnyObject2.讲OC库中类型转换为Swift类型,NSString to StringNSNumber to Int,FloatNSArr
2014-08-10 23:34:52 666
原创 protocol
/* 跟swift的协议基本一样 用@optional来定义可以选的参数 */#import @protocol ProtocolName@propertyint protocolProperty;- (int)protocolMethod;@optional //@optional
2014-08-03 22:48:25 520
原创 Category & Extension
NSString+NewCategory.h#import @interface NSString (NewCategory)-(void) showNewCategory;@endmain.m
2014-08-03 16:55:16 504
原创 Copy Properties Maintain Their Own Copies
#import /*Copy Properties Maintain Their Own Copies*/@interface Person: NSObject@propertyNSString *firstName;@propertyNSString *lastName;@end
2014-08-03 15:59:40 656
原创 弱引用
#import /* swift弱引用: http://blog.csdn.net/deargua/article/details/38142951 和Swift一样,可以用weak关键字来表示弱引用,防止死锁。 1.weak的使用 2.Cocoa中有些类是不支持weak的,定义会报错,对于这些类需要生命为非安全的。 属性的声明方
2014-08-03 15:44:00 621
原创 OC 构造函数
main.m/* 构造函数 1.同swift一样,构造函数分为指定构造函数和便利构造函数。 2.类的声明,在实现的时候引用了其他类时,需要包含#import其头文件,但是在头文件中 有时候仅仅是用作类型名,不需要其内部组成时,可以简单的用@class ClassName来声明。 */#import "Person.h"int main(int argc, char * a
2014-08-03 11:03:53 896
原创 OC基础笔记2
/* 1.自动synthesis,在新版本的OC中,如果在Interface中定义了某个属性,编译器会自动添加 getter(默认为属性命)和setter(默认为setPropertyName)属性。当然也可以自己定义这个方法。 只需要在属性定义前加上(getter=自定义函数) 2.虽然可以用dot语法访问属性,但是一般不用。函数是不可以用dot语法的
2014-08-03 10:06:59 507
原创 OC基础笔记
/*1.扩展名.c C文件.cc,.cpp C++文件.h 头文件.m objective-c原文件.mm objective-c++原文件2.和swift不同,OC不支持嵌套的/*注释3.常用类 NSString NSNumber 可以表示整数,float,double
2014-08-02 14:34:47 564
原创 Language Reference
Language Reference1.关键字Keywords usedin declarations: class,deinit, enum,extension, func,import, init, internal,let, operator, private, protocol, public, static, struct, subsc
2014-07-28 21:32:13 563
原创 Advanced Operators
/* Advanced Operators1.默认运算是不可以溢出的,否则报错。如果是故意溢出,但是swift提供了一组已&开头的运算符 &+可以溢出。 Beta3中测试是不可以的??Overflow addition (&+)Overflow subtraction (&-)Overflow multiplication (&*)Overflow
2014-07-28 17:06:46 543
原创 Access Control
/* Access control 需要Xcode6 Beta41.public 可以在定义文件的内部和外部访问 internal 可以用在模块哪的任何文件访问,模块外文件不可访问 private 只能在本文件内使用 默认的访问级别为internal2.元组的访问级别是由其构成元素决定的,取所有成员的最低级别。3.函数的的访问级别不是默认的,而
2014-07-28 15:10:25 657
原创 Generics
/* 范型 Generics C++中的模版函数,模板类1.范型函数2.Generic Type3.范型类型的扩展4.范型类型约束(给T加一个约束,不是所有类型都可以用)5.用typealias定义范型6.可以用where语句来对类型参数列表进行限制*///1.范型函数func testGenerics(para1:
2014-07-28 14:12:13 538
原创 Protocol
/* Protocol1.协议为类,枚举,结构体等遵循者定义了一套蓝图,该蓝图包括方法(实例,Type方法),属性,operator和subscripts等具体的样子。这些遵循者遵循者在具体的实现中必须实现协议中规定的属性或者方法。2.类不可以多继承,但是协议可以多继承,继承父类需要放在前面,多个用逗号隔开class someClass: Sup
2014-07-27 22:27:58 617
原创 Extension
/*Extensions提供了一个接口,在不改变即有类型的前提下添加自己的东西。比如系统的类型Int我们是不能随便修改的,但是可以通过extension来扩展1.添加computed properties和静态的computed static properties2.定义实例方法和type methods 注意:不能override既存的函数
2014-07-27 15:13:03 474
原创 iOS UI初探
怎么进行UI开发iOS和OSX开发UI用的库是Cocoa,具体iOS和OSX还有一些区别,可以参见官网说明。Cocoa中包含很多的框架,其中iOS用到的是Foundation和Cocoa TouchCocoa历史1980年代 NeXT强大开发环境NeXTSTEP诞生,这也是库中都带NS前缀的原因。1996年 苹果收购NeXT,在此基础上诞生了Cocoa3.Coc
2014-07-27 13:47:06 610
原创 Nested Type
/* Nested Type类型定义后的适用范围可以被限定大括号内尤其是枚举,常常被某个特定的类或结构体使用,则不需要暴露到外部有些结构体和类也一样只用于特定的context中,这时可以用嵌套类型。//✨✨可以在外部来引用内部嵌套类型。var outRef = NestedType.InnerType*/cla
2014-07-26 17:22:30 962
原创 TypeCast Any AnyObject
/* TypeCase 1.downcast 向下转换将一个父类类型的变量(可能本来时子类类型,在之前的运算中被转换成父类)转换为子类类型的变量2.upcast 与之相反。3.不是继承关系的类不可以转换。4.as 与 as? 的区别:as?返回的时optional的。AnyObject 可以任何类的类型的实例,由于OC没有指定类型
2014-07-26 17:04:50 505
原创 Auto Reference Counting
/* ARCAutomatic Reference Counting1.强引用2.强引用死锁3.弱引用4.Unowned reference*/class Person{ let name:String var apartment:Apartment? init(na
2014-07-26 13:13:19 820
原创 deinit
/* deinit 只有类才可以有析构有些操作文件,套节字等需要自己释放资源的类,需要析构*/class DeInitClass{ init() { println("Init") } deinit//构造又参数,括号,返回值,析构没有。 { pr
2014-07-24 19:54:34 1240
原创 Inheritance
/* Inheritance1.swift中没有给类定义一个超类(像python的Object一样),这就意味着作为superclass的空类什么都不能做。2.override一个函数时,需要在前面添加override关键字,构造器init不需要写override。3.注意overload实说函数名相同,参数不同。override实说函数名何参数返回值跟父类的相同。
2014-07-23 21:32:11 566
原创 构造函数 init
/* 构造函数 initinit函数,没有返回值,不能用func修饰,不能通过实例调用init,只能用init调用其他重载的init。init函数再override父类的init时,不需要写关键字override,普通的函数,属性需要写。✨在定义了自己的init后,默认的init就没有啦init函数结构体,枚举都可以有。但是deinit析构函数只能在类中
2014-07-22 22:47:12 1240
原创 Subscript
/*Subscript可以为类,结构体,枚举定义像数组下表访问一样进行访问的方法。不仅是一维还可以定义多维前面说过,字典,数组都是通过结构体来实现的,那他们就是利用subscript的方法实现了下标引用的功能。像字典dict["key"] = value 在实现的过程中是将key作为参数,value作为返回值类实现的。如果想做一个多维的下标,用多个参数即可。
2014-07-20 17:20:12 904
原创 Methods
//Method:类,结构体,枚举中定义的函数叫方法/*method第一个参数可以时local的,后面的参数必须时external的,即在调用的时候必须在前面加上标签,当然第一个参数也可以自己加上external限制。如果不想使用external参数,则可以用一个外部参数_,有无external就会变成不同的函数。即默认有external的参数,和加上_作为
2014-07-20 16:09:23 786
原创 property
/*属性:PropertyStored property:存储变量的属性,可以存在于类,结构体中,但枚举不能有stored propertyvar定义变量属性,let定义常量存储属性。可以赋初值。可以在类,结构体的初始化(构造)函数中修改属性,包括常量属性LazyStored Property:类或结构体在initialize后,仅在下次被使用前
2014-07-20 10:06:25 778
原创 Closure
import Foundation//闭包 closures 同python中的lambda类似//再swift中闭包的意思好像更广一些//全局函数被看作是一个有名字不可以捕获值(capture values)的闭包//Nested function被看作是有名字可以从父函数中捕获值的闭包//Closure是一个没有名字,用来定义简单
2014-07-16 22:38:22 613
原创 Function
import Foundation//函数本身被看作一个类型,可以将函数作为参数,可以在函数中返回一个函数。//同样可以在函数中定义一个内部函数。Nested Function//variadic 可变参数 //swift 用...可以接受可变参数,想其他语言类似,如果由可变参数,必须放在最后//另外,可变参数必须是指定的相同类型的,
2014-07-14 22:44:42 593
原创 Label
/* 标签可以用来标记一个循环体或者switch代码块,当使用break或者continue时, 带上这个标签,可以控制该标签代表对象的中断或者执行。用在嵌套循环中比较好用。*/var price = [1,2, -2, 3, 4, -1]Start:for pin price{ switch price
2014-07-13 23:23:38 587
原创 switch语句
switch与其他语言的显著区别1)case中会自动break,即即使没有break语句的case中,也不会连续执行下一条case2)可以有多个条件语句var char ="a"switch( char ){ case "A": println("A") //每个case必须有一条语句 ca
2014-07-13 21:34:44 589
原创 Optional-Optional Chaining
为什么optional类型会存在因为在swift中,所有的变量必须在赋初值后才可以使用,这就意味着你没法判断某个变量是否已经被赋初值了即如下代码是不可能的。var str:Stringif str //报错{ }为了解决这个问题(个人理解),Optional类型诞生啦。/*Optional类型表示的内容要不是某个值,要么
2014-07-13 15:28:58 1504
原创 Operator
在数值越界是会出现编译错误,如以下情况var d1:Int8 =123d1 +=250swift中支持浮点数取余运算 remainder operator %println(3%2.5) //0.5swift中的前置++后置++同C语言中一样。其他的比较,逻辑,三元操作符都同C类似。只是逻辑运算符只能用于bool类型。
2014-07-13 00:29:24 636
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人