一句话: YourSwiftObject convertedArray = your_MutableArray as NSArray as [YourSwiftObject]…
1. Swift与oc混编译具体怎么实现,这儿我就不重复讲出了,网上有大把的人讲解. 2. 在swift与OC混编的编译环境下, oc类不能访问swift创建类中的代理? 解决方法如下: 在代理的头部加上 @objc(代理名字),这样就在外部就可以访问了,如下图. 然后就和oc中的代理一样,写上协议方法,就可以进行你想要的操作了. 3. swift中的回调方法介绍: 1. 通过代理 ,写法大家可以看上面的两张图片,和oc代理差不多. 2. 通过闭包来实现oc中代码块(Block)的方法,来进行代…
目前随着公司开发模式的变更,swift也显得越发重要,相对来说,swift语言更加简洁,严谨.但对于我来说,感觉swift细节的处理很繁琐,可能是还没适应的缘故吧.基本每写一句代码,都要对变量的数据类型进行判断,还要进行强转等等. 好了,废话不多说了,直接把我对swift的语法的一些理解奉献给大家,希望能对学习swift语法的朋友有所帮助,如有不足之处,还请多多包涵,如果有错误之处,欢迎指正 Swift 介绍 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS…
知识点 1.NSArray 2.NSMutableArray 1.数组的基本用法: 2.数组的遍历 3.数组排序 ===========   NSArray  不可变数组  ================= 1.OC数组和c数组的区别 C语言的数组: 相同类型变量的有序结合. 类型:可以是简答数据类型.构造数据类型 int     a[10]; int   *b[10]; 1)NSArray是一个对象,是任意类型对象地址的集合 不能存放简单的数据类型(int, float, NSInteger…
最近公司项目不是很忙,偶然间看到编程语言排行榜,看到swift 已经排到前10了,然OC排名也越来越后了,感觉要上车了,虽然现在项目都是用OC写的,但是swift是一种趋势.在网上看到"自学 iOS - 三十天三十个 Swift 项目" 这篇博客,我也想自己在闲暇之余学习下swift,在看了2天的swift 的语法过后,才开始做这个,语法看的也不是很懂,有些部分.还是要自己动手 废话不多说 先上效果 这是这个简单的效果 1.首先 我去网上找了一下 swift自动布局的框架 "…
以下是OC中的实例,Swift部分不适用 iOS中的注释 // 单行注释 // 注释对代码起到解释说明的作用,注释是给程序员看的,不参与程序运行 /*  多行注释   Xcode快捷键   全选 cmd+a   复制 cmd+c   粘贴 cmd+v   设置 cmd+,   注释 cmd+/   运行 cmd+R   编译 cmd+B   */ 进制转化     数据类型 •float和double的区别:精确度不一样.      •位.      •位.     有效位数:从左边第几个的数字…
Send Push Notifications to iOS Devices using Xcode 8 and Swift 3 OCT 6, 2016 Push notifications are a great way to ensure your users re-engage with your app every once in a while, but implementing them on iOS can be challenging, especially with all o…
前言:swift语法基础篇(二)来了,想学习swift的朋友可以拿去参考哦,有兴趣可以相互探讨,共同学习哦.      一.自动引用计数   1.自动引用计数工作机制      1.1 swift和oc一样,采用自动引用计数来管理内存      1.2 当有强引用指向对象,对象的引用计数 +1 , 强引用消失,自动计数 -1      1.3 如果对象的引用计数为0 , 那么该对象会被销毁   2.循环引用      2.1 什么是循环引用?           两个(或多个)对象互相强引用  …
自学 iOS – 三十天三十个 Swift 项目 github源码地址:https://github.com/allenwong/30DaysofSwift…
1.在OC工程中新建 Swift 文件,会提示的是否创建一个桥接文件,创建不创建都无所谓,这个桥接文件主要是用来包含OC头文件的,主要用于Swift中使用OC         2.在Person.swift 中创建一个函数 run      3.在OC文件中引入#import "Tests-Swift.h”  其中 Tests 是Product Module Name名字,可以修改. Tests-Swift.h 是一个隐藏文件        4.然后 在OC文件里就可以使用 Swift 文件中方…
swift现在使用越来越多了,一些主流的框架或者效果比较好的demo都陆陆续续使用swift写了.所以,要学会如何在oc的项目中调用swift. 这里主要借助一个桥梁文件,这个桥梁文件一般在你导入swift代码或者创建swift代码的时候会询问你是否创建,这个时候要选择创建,然后就可以在oc项目里引入桥梁文件,从而可以创建swift对象,使用其相应方法了. 但是这里有可能会出现oc中无法调用swift代理方法的情况,下面两个学习资料对这块有比较详细的介绍,可以学习一下. 参考资料:iOS-Swi…
在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握. expression:表达式 assignable:赋值variable:变量+redefinition:重复定义type:类型conflicting:冲突项invalid:无效的conversion:转换specifier:说明符indent:缩进operands:运算对象.操作数binary…
代码地址如下:http://www.demodashi.com/demo/12090.html 准备工作 首先我们需要确定作为宣传的图片的宽高比,这个一般是与 UI 确定的.一般启动屏展示会有上下两部分,上面是宣传图片,下面是 App 的 Logo. 实现思路 在 LaunchScreen 结束后,在 AppDelegate 中将 rootViewController 指向展示广告用的 AdViewController,在AdViewController 中设置一段时间后自己销毁,并提供回调方法…
iOS js oc相互调用(JavaScriptCore)   从iOS7开始 苹果公布了JavaScriptCore.framework 它使得JS与OC的交互更加方便了. 下面我们就简单了解一下这个框架 首先我导入framework 方法如下 点击Linked Frameworks and Libraries 的添加后 选择 JavaScriptCore.framework 选中JavaScriptCore.framework后 点击右下角Add 添加完成 好 创建完成之后我们导入一下头文件…
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/strengthen/p/10297316.html ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章…
几天前,我开始新的App的开发了.终于有机会把swift用在实战中了,也学到了之前纯学语法时没有机会获得的知识. 这篇博文中,我就如何使用swift.OC混编做一个介绍. OC中使用Swift 首先,在工程的 Build Settings 中把 defines module 设为 YES. 然后,把 product module name 设置为项目工程的名字. 最后一步,在你的OC文件中导入 ProjectName-Swift.h. 注意:ProjectName-Swift.h 这个文件是系统…
背景 近日在和一群朋友做项目,我和另一位同学负责iOS客户端,我是一直使用OC的,而他只会Swift,因此在我们分工协作之后,就需要把代码合在一起,这就牵扯到如何在TabbarController中添加一个Swift创建的子控制器的问题. 解决 首先在一个OC项目中新建一个Swift类,继承自UITableViewController,并且修改其view背景色,方便后续测试. import UIKit class ESSwiftTableViewTestVc: UITableViewContro…
oc的懒加载依赖于属性的双重属性的函数属性部分. 懒加载的本质是执行get函数. swift的lazy,理论上与此类似. 编译器优化时可能对初始化块进行了保存. 懒加载的本质是延迟执行. 只要是执行,必定有调用: 只要有延迟,必然有保存. #pragma mark - getter   //------- 导航栏 -------// - (CQCategoryDetailNaviView *)naviView {     if (!_naviView) {         _naviView =…
iOS基础UI控件总结 iOS基础控件包括以下几类: 1.继承自NSObject:(暂列为控件) UIColor //颜色 UIImage //图像 2.继承自UIView: 只能相应手势UIGestureRecognizer事件,如果本身不响应会将事件action向superview传递 UILabel //文本展示 UIImageView //图像展示 UIAlertController //提醒对话框(UIAlertView已被苹果官方弃用) UIScrollView //滚动视图 UIP…
一.手势密码 1. 1.1.用UIButton组成手势的节点. 1.2.当手指接触屏幕时,调用重写的 touchesBegan:withEvent方法(在touchesBegan里调用setNeedsDisplay,这样就会自动调用drawRect方法). 1.3.当手指在屏幕上滑动时,调用重写的touchesMoved:withEvent方法. 这两个方法执行的操作是一样的:通过locationInView获取 触摸的坐标,然后用 CGRectContainsPoint 判断手指是否经过UIB…
这是苹果官方最后一次更新的基于OC的iOS开发基础教程, 如果英文的看不懂,还有中文的版本哦. 点击下面的链接 好东西,分享给大家! 如果确实有帮到你,麻烦star一下我的github吧!…
如果打算在app中使用图标功能,这个框架基本能够满足90%的需求 下边是作者的框架的下载地址 ,基于swift2.0 https://github.com/danielgindi/ios-charts.git 只需要把demo中的chart 下的文件classf xcode中做如下设置 在使用框架的界面导入一下的头文件‘ #import "hello-Swift.h" 其中的hello 是工程的文件名称,主要作用也是oc和swift的桥接文件…
一.ARC ARC 是一种编译器特性!而不是IOS运行时特性,和JAVA中得垃圾回收机制完全不一样ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain.release.autorelease语句.你不再需要担心内存管理,因为编译器为你处理了一切ARC规则:只要还有一个强指针变量指向对象,对象就会保持在内存中弱指针指向的对象被回收后,弱指针会自动变为nil指针,不会引发野指针错误使用注意:1.不允许调用release.retain.re…
前言:swift语法基础篇(二)来了,想学习swift的朋友可以拿去参考哦,有兴趣可以相互探讨,共同学习哦.      一.可选类型(重点内容)   1.什么是可选类型?        1.1在OC开发中,如果一个变量暂停不使用,可以赋值为0(基本属性类型)或者赋值为空(对象类型)      1.2在swift开发中,nil也是一个特殊的类型.因为和真实的类型不匹配是不能赋值的(swift是强类型语言)      1.3但是开发中赋值nil,在所难免.因此推出了可选类型       目的:让代码…
# MagicalRecord 2.1 ## 前言 CoreData是iOS开发中经常使用的数据持久化的技术.但其操作过程稍微繁琐,即使你只是实现简单的存取,不涉及请求优化,也要进行许多配置工作,代码量在动辄几十行,对新手来说也需要较大时间成本. MagicalRecord是OC的一个库,协助方便CoreData的工作.其吸收了Ruby on Rails的Active Record模式,目标是: * 简化Core Data相关代码 * 允许清晰,简单,单行获取 * 当需要优化请求的时候,仍然允许…
从iOS 8.0开始就引入了framework打包方式以及Swift编程语言.我们可以主要利用Swift编程语言将自己的代码打包成framework.不过当前Xcode 7.x在自动导入framework包的时候不太智能,因此需要做一些善后处理. 首先,在生成framework时,要暴露给外部的结构体.类.枚举.函数等都需要用public关键字来修饰,否则外部是访问不到这些类型以及函数的.此外,在结构体和类中,不能缺省初始化方法,必须用public暴露给外部,否则也一样无法被访问到. 其次,当我…
下来我们使用js调用iOS js调用iOS分两种情况 一,js里面直接调用方法 二,js里面通过对象调用方法 首先我们看第一种,直接调用方法. 其中用到了iOS的block 上代码 -(void)webViewDidFinishLoad:(UIWebView *)webView { //网页加载完成调用此方法 //iOS调用js //首先创建JSContext 对象(此处通过当前webView的键获取到jscontext) JSContext *context=[webView valueFor…
copy,assign,strong,retain,weak,readonly,readwrite,nonatomic,atomic,unsafe_unretained的使用与区别 最近在学习iOS的过程个遇到了不少问题,知道概念也看过示例代码,但是就是写不出来或者不知道怎么去用. 一种遇到最多的时候就是在申明一个属性的时候,比如: @property (?, ?) ? *!: ......... ...... ... . 对,就是这里,每次碰到这里的时候,就不知道怎么下手了,虽然看起来很简单(…
iOS开发高级语法之分类,拓展,协议,代码块详解 一:分类 什么是分类Category? 分类就是类的补充和扩展部分 补充和扩展的每个部分就是分类 分类本质上是类的一部分 分类的定义 分类也是以代码的形式保存在文件中 分类文件命名 主类类名+分类类名 分类文件也分为*.h文件和*.m文件 *.h文件存放分类的声明部分内容 @interface 主类类名(分类类名) //添加方法声明 @end .m文件存放分类的实现部分内容 @implementation 主类类名(分类类名) //添加方法实现…
关于iOS开发中键盘的退出,其实方法有很多中,而且笔者也也学会了不少,包括各种非纯代码界面的退出. 但是最近开始着手项目的时候却闷了,因为太多了,笔者确实知道有很多中方法能实现,而且令我影响最深的就是 EndEditing,但是因为即有textView,又有TextField而且他们各有不同的方法,虽然笔者现在搞懂了,但是不知道什么时候又不记得 了,而且虽然感觉很简单现在感觉很简单的样子,但是对于没有真正弄清楚的人来说,也是一件痛苦的事情,哈哈! 其实这里纯代码界面推出如果用到Xib何Story…