最近项目开发一直在使用 swift,因为 HTN 项目最近会有另外一位同事加入,所以打算对最近涉及到的一些技术和自己的一些想法做个记录,同时也能够方便同事熟悉代码。
上传数据需要服务端配合,不同的服务端代码可能会不一样,下面的上传代码适用于本人所写的服务端代码。
当当网作为中国最大的综合性网上商城之一,通过爬取当当网数据,我们可以获取商品信息、用户评价、销售数据等宝贵的信息资源。这些数据可以帮助企业了解市场趋势、分析竞争对手、优化产品定价等,从而做出更明智的决策。
在 ViewController 的 extension 里面,uploadImage(_:progress:completion:) 的下面添加如下的代码:
在 swift 环境下开发,网络请求框架最知名就是 Alamofire ,AFN网络请求框架 swift 版本。其强大的功能和多种自定义网络请求,方便性不言而喻。首先来看下在 RxSwift 框架中,其本身也给我们进行的网络请求的封装。如果是在简单的网络请求环境下,可以利用 RxSwift 框架提供的方法来快速实现网络请求响应。 RxSwift框架中,将 URLSession 进行了封装,在 URLSession+Rx.swift文件下,可以找到 RxSwift 为我们提供了四种方法
使用UIWebView加载本地数据或资源有如下三种方式: 1,使用 **loadHTMLString **方法加载HTML内容 2,使用 **loadRequest **方法加载本地资源(也可用于加载服务器资源) 3,先将内容保存成 **Data **数据,再使用 **load **方法加载
序:做过iOS开发的人肯定都知道AFN,现在Swift逐渐流行AFN团队又用Swift写了Alamofire。从头开始学习一下,看看新的Alamofire有什么性能的优化和不同。
最近开始做了一个新项目,几乎没有时间来写自己的博客,大部分都在写 feature(BUG),自己研究的东西很少,本来之前说好每个月要写两篇文章也没能坚持下来,最近在项目中遇到了一些问题,就在这里总结下吧。一些小的技巧而已,大神可以忽略了。
最近在知乎上看到了这个话题:怎样看待程序员不写注释?看了下浏览量居然有 30+w 次,看来大家讨论的挺热闹,我浏览了大部分的回答,发现大家的观点可以归纳为以下几点:
好像是macOS10.10之后,以及iOS8之后,新出现的WKWebview组件就迅速的替代了Webview及UIWebView。后者的确存在一些无法解决的bug,诸如架构导致的速度缓慢和内存泄漏。 但无法避免的问题总是有的,比如有些客户端软件,仍然要求兼容老版本的系统,这时候,很不想使用,但也不得不仍然把Webview塞到自己的代码中。 互联网是个喜新厌旧的圈子,网上搜索,几乎只有两类。一是WKWebview的文档,二是iOS类的文档。想要的macOS下面Webview的资料缈如黄鹤。 经过部分只言
使用的时候我们会传入一个 &error 再获取这个错误值,来看这个过程中有没有什么错误,那么通过 error == nil 不就可以知道是否执行成功吗,为什么需要 BOOL 返回值,这是一个冗余的设计吗?
Async let 是Swift并发框架的一部分,允许异步实例化一个常量。并发框架引入了async-await的概念,这使得异步方法的并发性结构化,代码更易读
可选类型的介绍 说明: 可选类型是Swift中比较晦涩难懂的一个知识点 先了解定义,多利用Xcode的提示来使用 随着学习的深入,慢慢理解其中的原理和好处 概念: 在OC开发中,如果一个变量暂停不使用,可以赋值为0(基本属性类型)或者赋值为nil(对象类型) 在Swift中,nil也是一个特殊的类型,与Int,String一样 开发中赋值nil,在所难免.因此推出了可选类型 可选类型的取值: nil 有值 定义可选类型 定义一个可选类型有两种写法 最基本的写法 语法糖(常用) // 写法一:定义可选
本文笔者在 MDCC 16 (移动开发者大会) 上 iOS 专场中的主题演讲的文字整理。发布于 2016年11月29日 最后更新于 2020年10月22日
在源网页通过服务器重定向打开某个三方网页,网络层出现了 -1005 (NSURLErrorNetworkConnectionLost) 错误码,排查差异后发现是由于给这个三方服务带了源网页特有的 HTTP Header,导致服务器检查异常从而断开连接。
个人来说玩玩,还是用swiftui比较好,毕竟写界面的速度快很多,而且还比较直观。
关于 ChatGPT 的话题,大家都不陌生,我们直入话题,因为 ChatGPT 目前限制中国访问服务,所以如果直接使用 ChatGPT 网页进行对话,还是不太方便。通过 ChatGPT SessionToken 就可以不限制网络访问,所以大家发挥想象力实现各种的聊天机器人、小程序,而原生 app 可能体验更好!所以就有了 iChatGPT!一款用 SwiftUI 实现的开源 ChatGPT app,欢迎大家关注和提 PR。
swift3.0下使用Alamofire调用Webservice遇到的一些问题以及解决方案。
基于Swift 3 、 Xcode 8 、 iOS 10 下的WKWebView的使用。
目前flash在各方个面的应用越来越广,而flash也不单只是注重自身绚丽的效果,也需要和外界程序交换数据,以实现更强大的功能,随着as3的到来,flash和外部交互的方式也越来越简便和合理化。今天就在这里谈谈as3和后台数据的交互(这里选择as3 php架构,其他配置同理)。
不恰当的crossdomain.xml配置对存放了敏感信息的域来说是具有很大风险的。可能导致敏感信息被窃取和请求伪造。攻击者不仅仅可以发送请求,还可以读取服务器返回的信息。这意味着攻击者可以获得已登录用户可以访问的任意信息,甚至获得anti-csrf token。 追溯历史: 这是一个很古老的漏洞了。有多老呢,已经有8年了。在计算机领域,8年真的很长很长了。下面是一个粗略的crossdomian.xml漏洞的时间表。 2006: Chris Shiflett, Julien Couvreur, 和 Jere
xs为按钮实例名;ss为函数名称; var req:URLRequest = new URLRequest("http://impression.gridsumdissector.com/gs.gif
上一篇是关于AFImageDownloader图像下载的内容,这一篇主要是关于UIImageView的分类AFNetworking。
这里和AFN中UIImageView以及SDWebImage中的调用形式都是一样的。这个和AFN中UIImageView的实现是类似的,也不多说了。
flash终究只是客户端技术,所以很多时候还是需要与服务端技术(比如asp,asp.net,jsp,php之类)进行数据交互的,下面的代码演示了如何在flash中打开网页,以及用GET/POST二种方
1 class ViewController:UIViewController, UIWebViewDelegate { 2 3 override func viewDidLoad() { 4 super.viewDidLoad() 5 // Do any additional setup after loading the view, typically from a nib. 6 7 let bounds = UIScreen.main.bounds 8 let frame = CG
上一篇讲述了关于UIImageView的分类,用于下载图像。这一篇讲述关于UIButton+AFNetworking的UIButton的一个分类。其实看过上一篇的话,这一篇都是类似的,大家简单看一下就可以了。
0x00 前言 小白一枚前段时间遇到的,然后在网上查了资料询问了别人,做个简单的小总结。 0x01 XSF概念 XSF即Cross Site Flash,就是使用ActionScript加载第三方的Flash文件时,攻击者能控制这个第三方的Flash文件这样就有可能造成XSF攻击,以下函数如果使用不当就很容易产生XSF问题。在一些网站发帖或者评论的地方可加载FLASH文件的地方(不止flash文件),由于输入输出过滤不严格,而产生的跨站攻击。 0x02 Payload aaaa<object
在as3的开发中,经常会加载外部共用资源,比如某一个公用的图片或者其它小特效。这时候为了避免重复请求,一般会将这些资源放在一个fla文件中,为每一个资源添加链接。这里以一张图片为例(flower.fla):
package { import flash.display.*; import flash.events.*; import flash.media.Sound; import flash.media.SoundChannel; import flash.media.SoundLoaderContext; import flash.media.ID3Info; import flash.net.URLRequest; import flash.external.ExternalInterf
在AlamofireImage中一共就只有5个类加一些扩展 // 错误处理类,继承自Error,主要有requestCancelled(请求取消)、imageSerializationFailed(请求失败)两种错误 AFIError // 定义图片对象,主要用来适配mac(NSImage)和ios(UIImage)平台 Image // 图片内存缓存对象 ImageCache // 图片下载对象(下载基于Alamofire) ImageDownloader // 图片滤镜对象(CoreGraphics切圆
为了大家能更好的开发出一些高质量、高性能的小程序,这里带大家理解一下小程序在不同端上架构体系的区分,更好的让大家理解小程序一些特有的代码写作方式。
btn :按钮实例名; _blank:打开方式(新窗口打开) fn :函数名称;
Publisher 中的 Output 和 Failure 两个关联类型如果进行多次嵌套会让类型变得非常复杂,难以阅读,而实际开发中往往需要经过多次的操作才能得到合适的 Publisher。 对于 Subscriber 来说,只需要关心 Publisher 的 Output 和 Failure 两个类型就能顺利订阅,它并不需要具体知道这个 Publisher 是如何得到、如何嵌套的。 为了对复杂类型的 Publisher 进行类型抹消,Combine 提供了eraseToAnyPublisher()方法将复
比如要在loading图片的时候显示一个背景gif图(表示正在加载图片)或是显示加载进步等等
今天博客中的Alamofire源码的版本是以3.4版本为例。上篇博客系统的对NSURLSession相关的东西进行了详细的解析,详情请看《详解NSURLSession》,为了就是给本篇博客打下基础。因为AlamoFire就是对NSURLSession及其相关的东西进行了进一步的封装,让网络请求使用起来更为简单。本篇博客就详细的来窥探一下AlamoFire源码,主要来看一下AlamoFire是如何对NSURLSession进行封装的,并且来看一下在封装时使用了哪些Swift语言中的高级用法,也就是看一下Swi
在Swift5之前,我们一般是采用上面的方式来处理异常,在Swift5之后,苹果推出了一个Result枚举,Result枚举可以更加优雅地去处理异常。
今天折腾了大半天,总算搞出了一个功能简单的视频播放器,可以向公司领导交差了 :) 步骤: 1.Flash CS4 中 先拖一个"FLVPlayback"组件到舞台上 注:FLVPlayback本身已经
前几天看到有园友写了一篇“ flash查看对方qq是否在线 ”,正好今天有一个朋友搞flash全站,想使用这个功能,但是有些小要求,点击图标后,要求弹出QQ对话框,于是改进了一下: package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.globalization.StringTools; import flash.net.URLR
前边以及陆陆续续的介绍了使用Swift3.0开发的服务端应用程序的Perfect框架。本篇博客就做一个阶段性的总结,做一个完整的实例,其实这个实例在《Swift3.0服务端开发(一)》这篇博客中已经简单的介绍过了,本篇博客就来详细的聊一下这个工程的具体实现细节。当然包括iOS端和服务端的代码。本篇博客的介绍顺序按照功能模块来划分的,如登录注册模块、记事本列表,记事本的增删改查等功能。在每个功能模块,我们先给出服务端代码的实现,然后给出客户端代码的实现。 本篇博客的前几部分主要介绍整个工程的公用模块,为工程的
1)设置FlashDevelop使用flash player10(debug版本,因为有一个demo使用了本地预览)
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class upload : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { HttpFileCollection uploadedFiles = Request.Files; string Path = Server.MapPath("upload"); for (int i = 0; i < uploadedFiles.Count; i++) { HttpPostedFile F = uploadedFiles[i]; if (uploadedFiles[i] != null && F.ContentLength > 0) { string newName = F.FileName.Substring(F.FileName.LastIndexOf("\\") + 1); F.SaveAs(Path + "//" + newName); } } } }
作为微信小程序底层 API 维护者之一,经历了风风雨雨、各种各样的吐槽。为了让大家能更好的写一手小程序,特地梳理一篇文章介绍。如果有什么吐槽的地方,欢迎去 developers.weixin.qq.com/ 开发者社区吐槽。 01 简述小程序的通信体系 为了大家能更好的开发出一些高质量、高性能的小程序,这里带大家理解一下小程序在不同端上架构体系的区分,更好的让大家理解小程序一些特有的代码写作方式。 整个小程序开发生态主要可以分为两部分: · 桌面 nwjs 的微信开发者工具(PC 端) · 移动 AP
网络请求的构建很简单, 根据一个请求需要的条件如URL, 请求方式, 请求参数, 请求头等定义请求生成的接口即可. 定义如下:
在写webgame的资源管理器的时候,想加一个功能,就是在解析版本xml时,想打开目录查看里面的文件。
#import "ViewController.h" @interface ViewController ()<NSURLSessionDelegate, NSURLSessionDownloadDelegate> @property (weak, nonatomic) IBOutlet UIProgressView *progressView; //进度条 @property(nonatomic, strong) NSURLSessionTask *downLoadTask; //下载任务 @end
flex 3 比较符合程序员的习惯,尤其是对Java程序员来说,Eclipse 太熟悉了,不过我觉得不能开发多帧的程序是flex 的最大缺点,也可能我孤陋寡闻,没找到开发多帧程序的方式
const FILE_PATH:String="main.swf"; const CLASS_NAME:String="MainSwf"; var loader:Loader; var request:URLRequest; loader = new Loader(); request=new URLRequest(FILE_PATH); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete); loader.conten
越来越多同学打算开始用 Swift 来开发了,可很多人以前都没接触过 Swift。这篇和我以前文章不同的是,本篇只是面向 Swift 零基础的同学,内容主要是一些直接可用的小例子,例子可以直接在工程中用或自己调试着看。
领取专属 10元无门槛券
手把手带您无忧上云