Tag: 迅速

如何在Swift中调用deinit

我写了一个代码块如下: class Person{ let name:String; init(name:String){ self.name = name; println("\(name) is being initialized."); } deinit{ println("\(name) is being deInitialized."); } } var person:Person?; person = Person(name:"leo"); person = nil; 初始化时, print是可以的。 当人设置nil ,不调用deinit方法。

错误:multidimensional array中的“数组索引超出范围”

我已经宣布我的数组像 var tile = [[Int]]() 之后,我已经初始化它的价值 for (var index = 0; index < 4; index++) { for (var sindex = 0; sindex < 4; sindex++) { self.tile[index][sindex] = 0 // error here println("\(index) \(sindex)") } } 在运行时它给出一个错误“数组索引超出范围”

在Swift的SQLite项目中使用UnsafePointer <Uint8>问题

我们正在Swift中实现iOS中的SQLite,而不使用包装器或Objective-C桥接。 一切工作正常,除了做一个查询和提取结果。 问题出在Swift中从SQLite返回的UnsafePointer<UInt8> ,如下所示: var querySQL = "SELECT address, phone FROM CONTACTS WHERE NAME = 'myName'" var cQuery = querySQL.cStringUsingEncoding(NSUTF8StringEncoding) var statement: COpaquePointer = nil if sqlite3_prepare_v2(contactsDB, cQuery!, -1, &statement, nil) == SQLITE_OK { if sqlite3_step(statement) == SQLITE_ROW { var address : UnsafePointer<UInt8> = sqlite3_column_text(statement, 0) var data = NSData(bytes: address, length: 10) var string […]

AutoLayout视图使应用程序在popViewController上崩溃

最终更新 – 修正 我已经解决了这个问题 看起来,虽然玩耍(这是我在Swift中使用AutoLayout的第一个项目),我改变了contentCompressionResistancePriority和contentHuggingPriority为我的一些意见。 把这个代码拿出来,把我的所有视图重新设置为IB的默认值,解决了我的问题。 初始职位 所以我在iOS上使用AutoLayout来定位我的dynamic视图。 这一切都很好,很容易,直到我popup我的视图控制器之一。 该应用程序崩溃与一个非常有用的错误消息,是这样的: … internal error. Cannot find an outgoing row head for incoming head UIImageView:0xd049d50.Width{id: 730}, which should never happen.' … 我一直在search网页,但我无法修复。 我发现,虽然我的代码中有一行可以有所作为。 在我所说的视图控制器中,我有一大堆正在使用AutoLayout的UIImageView ,以及我从networking上加载的图像。 如果不是将接收到的图像设置给它们,我就像我的情况一样,在Swift中设置一个空的( [[UIImage alloc] init]或者UIImage() ),它不会再崩溃了。 我甚至尝试从应用程序包中设置一个虚拟的图像,但也使它崩溃了。 我们欢迎所有的build议! 更新1 再看一遍代码,我还发现有一个与这些UIImageViews相关的约束,也使得崩溃消失时消失。 这是一个长宽比约束,看起来像这样 imageView.addConstraint(NSLayoutConstraint(item: imageView, attribute: NSLayoutAttribute.Width, relatedBy: NSLayoutRelation.Equal, toItem: imageView, attribute: NSLayoutAttribute.Height, multiplier: 8.0 […]

ios swift:是否可以改变string中某个单词的字体风格?

我从string中提取数据库内容。 用一个方法从这个string中提取最长的单词。 现在我想将整个string打印到文本标签,但是想要突出显示string中不同颜色和文本样式中最长的单词。 我怎样才能做到这一点? 是否需要将string切成小块 – 设置格式 – 然后再将它们放在标签中,然后再放在一起? 还是有其他更好的方法?

如何在Swift中获取内存使用

我需要在Swift中以编程方式获取我的应用程序的内存使用量(MB)。 我find了Objective-C的示例代码。 任何人都可以帮助我把它转换成Swift。 谢谢! void report_memory(void) { struct task_basic_info info; mach_msg_type_number_t size = sizeof(info); kern_return_t kerr = task_info(mach_task_self(), TASK_BASIC_INFO, (task_info_t)&info, &size); if( kerr == KERN_SUCCESS ) { NSLog(@"Memory in use (in bytes): %u", info.resident_size); } else { NSLog(@"Error with task_info(): %s", mach_error_string(kerr)); } }

Swift 3 JSON NSFastEnumerationIterator没有下标成员

即时通讯使用Swift 3和Alamofire 4.0。 我能够打印出整个回复,但是我无法循环和打印出每个值。 我得到一个“types”NSFastEnumerationIterator.Element“(又名”任何“)没有下标成员,当我尝试打印出”标题“下面的任何帮助,非常感谢。 Alamofire.request(url).responseJSON { response in if let dict = response.result.value as? Dictionary<String, AnyObject> { if let datas = dict["data"] as? NSArray{ for data in datas{ print("DEVELOPER: \(data)") if let title = data["myTitle"] as? String{ print(title) } } } } }

由swift生成的IPA非常大,大约5MB

我刚刚创build了一个简单的项目,使用swift语言,然后我编译和存档它生成.ipa文件。 IPA文件是如此之大,大约是5 MB。 那里是对的(没问题)? 当我在Objective-C中创build它时,它只有大约500kb。

根据内容调整textField的大小

在使用Swift编写的iOS应用程序中使用自动布局时,如何根据内容调整textField的大小? 在视图加载和用户input时,文本字段将根据需要调整其大小以适应其内容。 理想情况下,文本字段将停止resize,例如6行,并成为可滚动的。

Swift可选的链接在闭包中不起作用

我的代码看起来像这样。 我的课有一个可选的变种 var currentBottle : BottleLayer? BottleLayer有一个方法jiggle() 。 这段代码使用可选的链接,在我的类中编译得很好: self.currentBottle?.jiggle() 现在我想构造一个使用相同代码的闭包: let clos = {() -> () in self.currentBottle?.jiggle()} 但是我得到一个编译错误: 找不到会员'jiggle' 作为解决方法,我可以强制展开 let clos = {() -> () in self.currentBottle!.jiggle()} 或者当然我可以使用全面的可选绑定,但我宁愿不。 我认识到,可选的链接只是语法上的糖,但是很难理解为什么这个语法上的糖只是因为它在一个处理程序中才会停止工作(尽pipe当然可能有一个原因 – 但无论如何,这是一个惊喜) 。 也许有人对此有所反应,并对此有所想法? 谢谢。