
Swift 开发
Swift 开发之路
Johnny Tong
这个作者很懒,什么都没留下…
展开
-
ReactiveSwift模拟登录功能
ReactiveSwift 模拟登录功能原创 2025-02-13 14:24:24 · 372 阅读 · 0 评论 -
swift navigationItem封装
在swift中有时候navigationItem需要使用自己定义的。通过扩展使用构造方法创建navigationItem。navigationItem.leftBarButtonItem = UIBarButtonItem(imageName: "tabbar_profile")extension UIBarButtonItem { convenience init(imageName :原创 2017-04-10 10:02:28 · 695 阅读 · 0 评论 -
swift个人通讯录
注意:在做个人通讯录的时候第一次使用storyboard,stroyboard之间跳转传值。还有就是使用闭包回调ListTableViewControllerimport UIKitclass ListTableViewController: UITableViewController { /** block 特点 1 定义block可以和当前上下文一...原创 2018-04-12 11:07:49 · 753 阅读 · 0 评论 -
swift 自定义UITableview
使用swift创建tableviewViewControllerimport UIKitclass ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { private var tableView : UITableView? = nil private var ...原创 2018-04-12 17:03:18 · 803 阅读 · 0 评论 -
使用Swift打包framework步骤
本文主要记录了使用Swift打包带界面的framework的步骤 需求:打包一个framework提供其他应用植入。可以实现跳转(push或present)到framework的界面,然后再把拿到的数据返回到主界面。 准备阶段使用Swift写好一个界面,运行测试成功后,留着备用(不建议使用xib,建议使用纯代码搭建界面) – 记得在需要外界引用的类用public修饰。如果涉及到图片,先新建一原创 2017-02-27 10:24:52 · 1462 阅读 · 0 评论 -
swift UICollectionView
swift创建UICollectionViewCollectionVCimport UIKitclass CollectionVC: UIViewController { // 定义block var comBack:(()->())? private var listArray = [String]() private var coll...原创 2018-04-12 17:06:36 · 411 阅读 · 0 评论 -
NavigationController
NavigationController结构图 UITabBarController和NavigationController结构类似原创 2018-08-08 15:33:23 · 190 阅读 · 0 评论 -
mac source tree gitignore
开发使用CocoaPods 开发项目,很容易提交一些不需要的代码到仓库,在SourceTree 里添加忽略文件这块老弄错,这次专门博客一下忽略步骤如下: 在SourceTree的偏好 编辑里面添加 *~ .DS_Store *.xcuserstate *.xcworkspace xcuserdata *.lock Pods如果添加了gitignore还是不起作用,则需要把缓...原创 2018-08-06 15:01:09 · 581 阅读 · 0 评论 -
swift KVC函数调用
// 1 定义模型属性的时候,如果是对象,通常都是可选的(- 在需要的时候创建 - 避免写构造函数,可以简化代码)// 2 使用kvc方法之前,应该调用super.init保证对象实例化完成class Person : NSObject {// name属性是可选的,在oc中很多的属性都是在需要的时候创建的// 例如:vc.view/tableviewcell.textLabel等/...原创 2018-07-25 10:41:05 · 320 阅读 · 0 评论 -
swift重载构造函数
在使用swift重载构造函数的时候,需要注意。// 1 构造函数的目的:给自己的属性分配空间并且设置初始值// 2 调用父类构造函数之前,需要先给本类的属性设置初始值// 3 调用父类的'构造函数',给父类的属性分配空间设置初始值NSObject没有属性,只有一个成员变量'isa'// 4 如果重载了构造函数,并且没有实现父类init方法,系统不再提供init()构造函数(默认是会有...原创 2018-07-25 10:27:11 · 352 阅读 · 0 评论 -
swift-映射添加控制器
在使用swift中tabbarcontroller的时候,使用映射去添加。Bundle扩展import Foundationextension Bundle { // 计算型属性类似于函数,没有参数,有返回值 var namespace: String { return infoDictionary?["CFBundleName"] as? String ...原创 2018-04-26 17:23:30 · 831 阅读 · 0 评论 -
swift 可选绑定
var optionalInteger: Int? // 方式一// if let optionalInteger = optionalInteger {// print(optionalInteger)// return// } else{// print("no value"原创 2017-12-05 17:31:42 · 299 阅读 · 0 评论 -
NSLog输出
OC中NSLog#ifdef DEBUG#define NSLog(format, ...) printf("\n[%s] %s [第%d行] %s\n", __TIME__, __FUNCTION__, __LINE__, [[NSString stringWithFormat:format, ## __VA_ARGS__] UTF8String]);#else#define NSLog(f原创 2017-02-09 13:54:43 · 823 阅读 · 0 评论 -
swift-tableview使用
swift简单使用系统tableviewimport UIKitclass ViewController: UIViewController{ // 懒加载 方式一// lazy var tableview : UITableView = {// let tempTableview = UITableView ()// return tempTable原创 2017-03-05 21:50:12 · 563 阅读 · 0 评论 -
swift 创建UIButton
在swift中创建button,官方比较提倡的还是使用构造方法创建。下面使用两种方式创建button。 方法一:class func creatButton(imageName:String, bgImageName:String) -> UIButton{ // 创建btn let btn = UIButton() btn.setImage(UII原创 2017-04-10 09:56:40 · 998 阅读 · 0 评论 -
swift navigationItem titleButton
titleButton是系统不能满足需求而且自己封装的button。import UIKitclass TitleButton: UIButton { override init(frame : CGRect) { super.init(frame: frame) setImage(UIImage(named: "tabbar_discover"), for: .原创 2017-04-10 10:16:19 · 490 阅读 · 0 评论 -
swift 自定义collectionView
使用习惯了OC编写代码,在下载了一个swift编写的demo,模仿下来发现swift语法集百家之所长。下面就是对用swift编写的自定义collectionView进行阐述。熟悉MVC的同学应该很容易理解,下面就是用MVC进行编写。 M 定义一个Model用来数据持久化。这里使用了一个数据解析的第三方SwiftJSON.import UIKitimport SwiftyJSONcla原创 2017-08-01 14:01:22 · 1299 阅读 · 0 评论 -
swift 布局工具类
import Foundationimport UIKitextension UIView{ //x var x : CGFloat!{ get { return frame.origin.x } set(newValue) { var tempFrame : CGRect = frame原创 2017-08-08 16:36:31 · 732 阅读 · 0 评论 -
swift_异常处理
在使用swift的时候可能会出现异常,对异常的接触比swift要早,在学java的时候就使用过了。现在swift中也出现。这里说明一下载swift中怎么使用,通常有三种,这里只说一下最常见的一种。func Try_Catch(){ // 1 获取资源 guard let path = (Bundle.main).path(forResource: "Info", of原创 2017-08-13 11:11:02 · 409 阅读 · 0 评论 -
swift AFNetworking封装
习惯了在oc中使用AFNetworking第三方网络框架,在swift中也想尝试封装一下。封装之前,先建一个类继承自AFHTTPSessionManager,需要在新建的类中导入AFNetworking框架,是一个动态的framework。 下面是封装的AFNetworking代码import AFNetworking// 定义枚举类型enum HTTPRequestType : Int{原创 2017-04-11 09:15:36 · 2308 阅读 · 0 评论 -
swift Data 扩展
import UIKitextension Date{ static func nowTime(_ dateFormat : String = "YYYY-MM-dd HH:mm:ss")->String{ let formatter = DateFormatter.init(); formatter.dateFormat = dateFormat;原创 2017-08-23 16:23:20 · 700 阅读 · 0 评论 -
Swift与OC混编
Swift与OC混编第一天首先是swift调用oc,在swift的AppDelegate中使用oc控制器注意:必须先把oc头文件导入到一个叫 "项目名称-Bridging-Header"中然后再代理中进行调用 oc控制器 class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? fu原创 2017-02-24 11:41:22 · 818 阅读 · 0 评论