草庐IT

现在的

全部标签

ios - 添加到 UITableViewCell 的图像在滚动时出现在错误的行中

我在选择它时将图像添加到表格View行(实际上,我似乎是将它添加到行的单元格)(再次选择它时将其删除)。TableView由原型(prototype)单元格组成。这行得通,但是当我四处滚动并返回到我之前选择的行时,图像将在另一行中。此外,图像也会出现在其他行中。我的猜测是发生这种情况是因为滚动时会重新使用单元格。这是一个小示例项目的代码:importUIKitclassMyTableViewController:UITableViewController{//Usingintegersforsimplicity,shouldworkwithstrings,too.varnumbers=

swift - 可选出现在结果中

我目前正在学习swift,我写了以下愚蠢的代码,但结果显示如下:“当英雄处于2级时,怪物是可选的(“sihso”)”。我不知道为什么那里有可选这个词。varlevel=2varmons=[1:"SHhi",2:"sihso",3:"shssh"]varmonster=mons[level]print("Themonsteris\(monster)"+"whentheheroisatlevel\(level)") 最佳答案 之所以出现Optional是因为monster具有隐式类型String?,一个可选的字符串。当查询字典中特定键的

swift - 我在 Xcode 10 中打开了我的应用程序,现在我在 9.4.1 中出现错误 : SDKApplicationDelegate (FacebookCore)

我使用测试版Xcode10打开我的应用程序以检查它是否与iOS12兼容,现在如果我尝试在稳定版Xcode中构建我的项目,我会在SDKApplicationDelegate(FacebookCore)中遇到2个错误:@discardableResultpublicfuncapplication(_application:UIApplication,didFinishLaunchingWithOptionslaunchOptions:[UIApplication.LaunchOptionsKey:Any]?=nil)->Bool{returndelegate?.application(ap

swift - 为什么我现在必须在 Swift 中覆盖我的 init?

importFoundationclassStudent:NSObject{varname:Stringvaryear:Intvarmajor:Stringvargpa:Stringinit(name:String,year:Int,major:String,gpa:String){self.name=nameself.year=yearself.major=majorself.gpa=gpa}convenienceinit(){//callslongerinitmethodwrittenabove}}--错误显示在convenienceinit行Overridingdeclarati

ios - 现在 Swift 是开源的,我可以在不是 Mac 的计算机上编写和编译 iOS 应用程序吗?

过去,只能在Mac上编译iOS应用程序。不过,Apple最近开源了Swift。在swift.org上可以下载Linux编译器。我想知道这是否允许我为iOS编写程序并在没有Mac的情况下将它们发布到应用商店? 最佳答案 在Linux等其他平台上可用的Swift语言与能够创建OSX或iOS应用程序之间存在巨大差异。OSX和iOS需要许多特定的框架,这些框架永远不会成为基本开源语言的一部分。开源的Swift可以让你用Swift语言编写通用程序。iOS和OSX应用程序的创建仍然需要更大的基础设施和工具集,而这些基础设施和工具集只能在Mac上

ios - 代码中潜在的内存泄漏

在我正在开发的应用程序中,需要定期轮询设备数据,例如加速度、陀螺仪和运动。我编写了以下类来处理所有相关任务(我还使用第三方库SOMotionDetector来检测设备是否正在移动。如果只有这样,我调用didReceiveAcceleration委托(delegate)方法)。importCoreMotionimportFoundationimportSOMotionDetectorprotocolMotionManagerDelegate:class{funcdidReceiveAcceleration(_acceleration:(x:Double,y:Double,z:Double

ios - 如何使用 Swift 检测 iOS 应用何时出现在前台?

这个问题在这里已经有了答案:TriggeringaspecificactionwhentheappentersforegroundfromalocalnotificationiniOS?(usingswift)(4个答案)关闭6年前。我需要检测我的应用何时可见?(例如,双击主页按钮,然后点击已经在后台的应用程序)如果可能,我想在我的UIViewController中检测该事件。我正在使用Swift2.2。

arrays - Swift 数组类型现在使用多维数组的元素类型用括号括起来

我正在尝试使用以下行定义类型为SKSpriteNode(或任何其他类型)的多维数组:var_tiles:SKSpriteNode[][]=[]但我收到Swift警告:“数组类型现在用括号括住元素类型”对于一维数组,这可以像这样完成:var_tiles:[SKSpriteNode]=[]但是它如何处理多维度? 最佳答案 只需双括号vartiles:[[SKSpriteNode]]=[] 关于arrays-Swift数组类型现在使用多维数组的元素类型用括号括起来,我们在StackOverfl

swift - 自更新到 Swift 1.2 以来,字典现在给出错误 'not convertible to BooleanLiteralConvertible'

我刚刚开始了解Swift-然后Swift1.2来了(打破了我的工作代码)!我有一个基于NSHipster-CGImageSourceCreateThumbnailAtIndex中代码示例的函数.我以前的工作代码是:importImageIOfuncprocessImage(jpgImagePath:String,thumbSize:CGSize){ifletpath=NSBundle.mainBundle().pathForResource(jpgImagePath,ofType:""){ifletimageURL=NSURL(fileURLWithPath:path){ifletim

ios - 我在 ios 应用程序中实现了谷歌登录。现在,我如何验证用户是否已登录,如果没有 - 使用 Swift 将他返回到登录页面?

正如我在这个问题的标题中所写的那样-我完成了本教程https://developers.google.com/identity/sign-in/ios/sign-in现在我可以根据用户的google凭据将用户登录到我的应用程序。到目前为止我的做法是我有一个ViewController.swift使用以下代码类:classViewController:UIViewController,GIDSignInUIDelegate{overridefuncviewDidLoad(){super.viewDidLoad()letbackground=CAGradientLayer().greenB