Tag: Swift编程

如果在Swift中a == 1 && a == 2 && a == 3

今天,我发现了有关采访的一个非常有趣的话题,其中一位前端开发人员参加了。 问题是:该陈述是否可能等于true? 嗯…起初我就像.. 如果有人看到那样的话,他们会在大学里杀死我的! 但是然后……嗯,这不是我第一次看到有人在产品上写这样的代码…… 向下滚动之前,请花点时间仔细考虑一下如何做😉 您知道他们在说什么,“没有什么是不可能的”。让我们用一些好的方法来阐明这个话题! 好的,现在让我们尝试在变量声明中覆盖getter。 哦……对吧……这会给我们造成麻烦…… 这种思维方式并不完全有害……我们可以创建另一个变量b ,在访问a的getter时将对其进行递增。 而且有效! 我们可以尝试对自定义类型进行实验并覆盖等号运算符,但这将导致相同的逻辑。 让我给你演示。 现在是真正的徒的版本 ,仅用于满足要求。 它可以工作,但是很好……它仍然需要更多的逻辑\ _(ツ)_ / 它将混合您项目中所有整数的逻辑,因此使用此类方法时要小心! 尽管如此,我们还是提供了正确的答案! 尝试用您知道的其他语言来实现类似的功能,这将有助于提高您的技能,使您在接受采访时更加自在! 您如何看待这种面试问题? 是否太具体而无法包含在问题集中? 请分享您的意见! 🙂

搬上海

MOVE Shanghai可以让您从一个地方访问该地区所有高级健身场所。 有了它的帮助,您可以预订各种活动,例如游泳,瑜伽,舞蹈课等等。 无论您喜欢哪种生态系统,MOVE Shanghai均可在iOS,Android和Web上使用,旨在提供相同的体验。 在本文中,我们将与您分享在实施过程中面临的挑战以及我们如何解决这些挑战。 挑战 MOVE上海项目的工作包括许多挑战。 最初,任务是克隆用Perl编写的现有MOVE GB应用程序。 但是,对代码进行更深入的研究表明,处理另一种语言是我们最不关心的问题。 事实证明,该应用程序根本不符合我们的技术堆栈。 毫不奇怪,改进或以任何方式改进现有应用程序的想法被认为是一揽子案例。 也就是说,我们得出的结论是,完全从头开始制作应用程序将是最佳选择。 当另一个不愉快的发现突然出现时,我们几乎没有开始进行移动应用程序开发。 对于那些不知道的人,在中国,有一种叫做“大防火墙”的东西可以阻止任何可能有害或恶意的东西。 这导致我们习惯的许多服务在大多数区域都无法访问而绝对没有问题。 而且,Internet连接可能真的变慢,特别是如果您不在该国的领土范围内。 毋庸置疑,包含MOVE Shanghai应用程序核心功能的通知(Twilio)和付款处理服务(Stripe / Braintree)要么几乎不可用,要么根本无法使用。 因此,我们必须找到他们的替代方案。 在开发应用程序时,我们从客户那里收到了新的要求。 要引入的最大变化之一是与第三方服务(例如mindbodyonline.com)的应用程序集成。 挑战是由于绝大多数服务是以相当复杂的方式实现的。 换句话说,它们根本不是为此类操纵而设计的。 解 我们要做的第一件事是从Perl编写的现有应用程序中借用了一些逻辑。 在将MoveShanghai与第三方服务(例如mindbody.com)集成时使用了其中的一部分。 为了节省时间来解决更大的挑战,我们决定采用数据库结构,从而能够充分利用现有的应用程序。 完成拆卸部分后,我们开始构建应用程序。 要求之一是必须同时发布Android(适用于客户端的应用程序)和iOS版本。 在找到正确的方法并解决了管理问题之后,我们的团队得以在规定的时间内交付应用程序。 多亏了我们开发的统一API,无论您要使用哪种移动设备,它们都可以正常工作。 说到“伟大的防火墙”,这是一个相当大的问题。 作为Stripe的替代品,我们选择了Paymentwall,要研究和使用它仍然有些棘手,但仍可集成。 由于Twilio在中国的运作非常不稳定,因此我们不得不寻找另一种服务来实现通知功能。 为此目的最合适的选择是称为“云片”的中国服务。 借助一些额外的逻辑,该应用程序现在可以通过YunPian将SMS发送到中国电话号码,而通过Twilio通知外部号码。 话虽如此,让我们快速浏览一下MOVE Shanghai的移动版本的流程。 登录和注册过程都非常简单。 为了节省用户的时间和精力,我们通过短信实施了确认。 之后,MOVE会向您显示一个屏幕,您可以在其中搜索所需的活动。 该应用程序还带有非常方便且功能强大的搜索。 借助其帮助,您可以按时间,日期,相关性和类型搜索活动。 找到适合您的喜好和时间表的活动后,您可以立即预订。 预订流程如下所示: 由于该应用程序主要针对中国观众,因此客户的要求之一就是与微信进行集成。 对于不熟悉这项服务的人来说,这是一个非常受欢迎的移动应用程序,可与近10亿用户(其中​​大部分来自中国)进行通信。 在过去的几年中,微信已经从一个简单的聊天应用程序发展成为具有众多功能的整个生态系统,其中包括可以直接从该应用程序付费的功能。 MOVE Shanghai也非常适合在移动浏览器中显示(并且运行速度与本地应用程序一样快)。 哦,有没有提到我们实现了美观的聊天,以便用户可以游泳/拳击/等。 […]

Swift Snippet [1]:彩色图像文字Lite

XCode 8’in bizesağladığıyeni nimetlerden olan 颜色文字 ve 图像 文字 dan bahsetmek istiyorum。 UIColor veya UIImagesınıflarınaait nesneleriyaratırkenmuallaktakaldığımızoluyor。 _ = UIColor(red: 0.5, green: 0.2, blue: 0.5, alpha: 0.2) yukarıdakikodun rengine❓Bunu o anda hesaplamak bizleriçinzor oluyor。 设计时的设计时间为izleyebiliyoruz。 颜色文字 i te buşekildebizekolaylıksağlıyor。

Integrasi Firebase dengan iOS Swift melalui Cocoapods依赖项

嗨,敏捷开发人员! 卡里伊尼赛亚阿坎族与孟加拉人一起共享火力发电厂 。 Ngomong-ngomong ada yang tau apa itu cocoapods ?? Cocoapods adalah sebuah 主管经理 Yang membantu开发人员mengakses berbagai macam 库 yang dibutuhkan。 Selanjutnya kita coba安装cocoapods terlebih dahulu! Langkah pertama,布卡终端terlebih dahulu。 Selanjutnya,ketik命令berikut ini: sudo gem install cocoapods Inilah tampilan setelah mengeksekusi命令diatas dan tahap untuk menginstall cocoapods telah selesai。 Bagi yang penasaran dengan konfigurasi cocoapods lebih lanjut […]

操作员trong swift iOS

快速操作员swiftcócácloạinhư: 一元 :cáctoántửdùngcho 1đốitượng 一个= ! b //前缀 a = b为! c //后缀 二进制 :cáctoántửdùngcho 2đốitượng a = b * c //中缀 三元 :cáctoántửdùngcho 3đốitượng,vàchỉcó1làdùngchotrườnghợpkiểmtrađiềukiệnthaythế a> 0? : 操作员超载 struct Vector2D :ExpressibleByArrayLiteral { var x = 0.0,y = 0.0 init(x:Double,y:Double){ self.x = x self.y = y } init(arrayLiteral:Double …){ self.x = arrayLiteral [0] self.y = […]

如何在iOS应用中添加自定义字体-使用Swift进行编程

今天,我将向您展示如何向iOS应用添加自定义字体。 我要做的第一件事是创建一个新组。 完成此操作后,右键单击并选择“添加文件”: 导航到自定义字体的字体文件并添加它们,确保已复制项目并将其添加到正确的目标,默认情况下一切对我而言都是正确的: 如果添加了字体组,它应该看起来像这样: 接下来,您需要打开info.plist并添加一个新的属性,称为application所提供的fonts 。 添加该键后,在项目0旁边添加字体名称。 如果您的字体有更多样式,如粗体,斜体,浅色等,则您需要添加更多项,每种样式都需要添加一个。 添加字体后,您所需要做的就是在代码中使用它。 这就是我使用它的方式:

谁可以看到一个不是isHidden的UIView?

难道只有我每次处理UIView的isHidden属性时都会大吃一惊吗? 我的直觉一直是,布尔类型的“ true”值表示存在的东西,而与不存在的“ false”值相反。 考虑到这一点,让我处理UIView的isHidden属性非常令人费解和费力。 假设我希望某些UIView在屏幕上可见。 我的想法是为UIView的某些属性设置“真”(即存在)值。 但是,相反,我必须为isHidden属性设置一个“ false”(不存在)值。 真是令人误解。 这意味着,我需要使用双重否定:不存在不存在,以简单地显示UIView。 此外,我们经常必须根据数据对象的某些布尔属性显示一些图像或其他UI元素。 每次看到这样的代码,我的脑袋都会微震: hotImage.isHidden =!article.isHot 拥有这样的代码会更好: hotImage.isVisible = article.isHot 那么,为什么不呢? 我对UIView使用了最简单的扩展: 我将此文件添加到我的所有项目中,这为我节省了很多精力。 我鼓励您也这样做。 如果您有关于Apple为什么使用isHidden而不是isVisible的线索,请告诉我。

Criando um app para iOS com Swift

简介 Swift或Apple的sistemas解决方案。 Senãoouviutambémnãotem problema。 Iremos contar uma brevehistóriasobre ela。 iOS,OS X,watchOS和tvOS criada pela Apple的近期编程语言。 在WWDC(苹果世界大会)上获得2014年世界代表大会奖,作为目标C的受益人,同时也将其作为C的综合体。 游乐场的新成员,游乐场的功能性玩偶,外观和外观的准许性,是必不可少的必需品。 在触摸屏上可以看到的所有杂物,在触摸屏上可以显示出15种细节,而在其他方面则是5种。 瓦塞哈,全日空12封睾丸,共2封。 2015年9月发布的Apple tornou开源文档,包含2.2版的发行版,以及逐步普及的版本。 肉类 Ponto eVírgula—萨尔瓦多无人警察 浮游维耶古拉海滩上的第一艘防弹艇。 Para quem trabalha com outras linguagens quejáéobrigatórioissonãoémuito relatede。 Mas para quemestácomeçando,El se tornadesagradável。 瓦里维斯 姆·斯威夫特(Em Swift),《变种人的特殊性》,从头到尾都获得了荣誉。 Vale lembrar que como em qualquer outra linguagem o tiponãopode ser alterado。 Paravariáveispodemos usar dessa […]

开始进行Swift编程第6部分-结构,类,属性和方法

在上一篇文章中,我们介绍了函数,枚举和范围。 开始Swift编程第5部分-函数,枚举和作用域 在上一篇文章中,我们介绍了if语句,while循环和for-in循环(通常仅称为for循环)。 medium.com 它使我们对如何使用函数分解代码,使用枚举创建选项(并修复很长的if / else-if语句)的方式以及如何使内存使用率保持在较低水平并通过覆盖范围来查找讨厌的bug有了很好的理解。 。 今天,我们将讨论两个新对象,它们也是类型,它们也是容器,可帮助进一步分离代码并使代码更具可读性。 不要把代码分开得越多,就越容易阅读,这是一种快乐的媒介。 类和结构有助于建立这种媒介。 因此,让我们直接讨论一下Structs。 结构 C中的结构(如结构)是包含相似变量的数据类型,在Swift中,我们扩展了此功能,以允许结构也包含函数,枚举和其他结构,并且声明如下: 我们使用struct House声明一个结构,然后在主体中放入我们认为合适的任意数量的变量,常量或其他结构。 如果需要更改变量,请使用var声明它;如果不行,请使用let使其成为常量。 当我写出变量时,我会考虑应该测量或确定什么,然后通常以let开头并键入变量名称。 我问自己几个关于此变量应为哪种类型的问题。 这里只是几个问题: 使用浮点数(双精度/浮点数)有意义吗? 使用整数(Int)是否有意义? 是否确定状态(布尔值/枚举)? 它可以衡量或确定(结构)的多种因素吗? 问自己这样的问题将帮助您弄清楚要与特定变量一起使用的类型。 squareFootage可以用整数来度量,但也可以包含十进制数,因此我们将其默认为Double类型。 我们永远不能拥有一半的房间或四分之一的房间,因此numberOfRooms变成一个Int,与numberOfWindows相同。 您为什么认为我将numberOfBathrooms为Float。 我们永远不会有四分之一的浴室。 我们可以有一个完整的浴室,哦,等等,我们可以有一个半卫生间,其中只有一个水槽和一个厕所,或者一个水槽和一个浴缸。 因此,我们可以将1.5个半澡返回1.5 。 好的,那很有道理。 然后我们将address作为字符串常量。 为什么恒定? 好吧,如果您更改地址的时间为99.99999…%,那是因为您搬到了另一所房子,而这所房子不再适用于您,因此我认为将其设为常数是安全的。 然后我们有var doorIsOpen 。 好的,因此可以在两个可能的值之间切换,因此我们将其设为布尔值变量。 当然,我们可以在该结构中添加一个Garage ,因为我们都知道一个车库可以容纳这么多的汽车,因此我们可以说numberOfCars并将其numberOfCars Int 。 我们的车库可能有也可能没有窗户,因此我们允许设置窗户,但可以选择使用numberOfWindows: Int? 。 最后,如果我们要拉出车库或停在车库中,我们需要知道门是打开还是关闭。 我们使用doorIsOpen做到这doorIsOpen 。 呃,鲍勃…我们已经有了一个名为doorIsOpen的变量,它是基本House结构的一部分。 是的,我们这样做,但是由于范围的doorIsOpen , Garage结构中的doorIsOpen变量与House结构中的doorIsOpen变量不同。 让我们看看如何使用此结构来创建房屋。 […]

1.1。 关于斯威夫特

苹果已经创建了一种名为Swift的新编程语言,用于其iOS,macOS,watchOS和tvOS产品开发。 Swift的目标是安全第一的编程模式,并引入了许多新功能,例如可选,通用,协议,元组和扩展,以使编程更加轻松有趣。 苹果现在共享Swift开源,并且有潜力在苹果平台之外的各种平台上使用。 Swift是一种方便的高级语言。 首先,它支持ARC(自动引用计数),因此您可以轻松管理内存。 另外,它是一种可以像脚本语言一样轻松,多样地表达的语言。 因此,Swift结合了现代语言的理念,并优化了编译器性能,以加快程序执行速度和缩短构建时间。 Swift的功能 安全 Sweet面向安全编程。 它试图通过严格的语法来防止程序员在软件发布之前(即在编程过程中)可能犯的错误。 有时听起来太引人注目,但是语法制裁可以帮助减少错误。 您可以节省时间来修复错误或发现错误。 通过可选的,防护语法,错误处理和强大的类型控制 ,Swift实现了安全编程。 快速 Swift旨在替代基于C语言的编程语言,例如C,C ++和Objective-C。 尽管仍然部分缺乏,但是在C语言级别也已经开发了性能。 因此开发Swift的重点是将性能保持在可预测的恒定水平上。 除了优化执行速度之外,编译器还通过不断改进来保持更快的编译性能。 富有表现力的 斯威夫特研究了许多编程语言的优缺点,并试图使其更易于使用和使用良好的语法。 这使我们能够实现开发人员想要的现代而复杂的语法。 编程范例 Swift是一种多范式编程语言,它借鉴了许多编程范式。 简而言之,Swift借用了命令式编程范例,面向对象的编程范例,功能性编程范例和面向协议的编程范例。