首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS 面试策略之语言工具-Xcode使用

目前 Xcode 已经更新到第 9 个版本,功能也是涵盖开发、测试、性能分析、文档查询、源代码管理等多个方面,可谓是 App 开发一站式的平台。...[1240] Xcode 诞生于 2003 年,发展至今,已经可以支持除 Objective-C 和 Swift 之外其他 6 种语言:C、C++与 Objective-C 密不可分;自动化方面则多用...最新的 Xcode 采用完全由 Swift 重写的 Souce Editor,在代码修改、补全、模拟器运行方面有了很大提升。目前最大的缺点是稳定性不够。...前两者无须赘述,静态分析错误一般有这几类:初始化的变量,使用数据,API 使用错误。...首先 numList 初始化就赋值给 otherNumList ;其次 anotherNumList 并未使用;最后是 API 使用错误,没有调用 super.viewDidLoad() 方法。

1.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

iOS 9 Storyboard 教程(一下)

这个table view应该会显示一列玩家名单,所以现在你需要为这个app创建一个数据模型—一个包含Player对象的数组.使用Swift File模板在iOS/Source里为这个工程添加一个新文件....接下来,你需要把一个Player对象数组赋值给PlayersViewController.使用Swift File模板为开始,创建一个新文件,命名为SampleData.把它添加到SampleData.swift...cell的高度,或者不同的cell有着不同的高度,你将会使用 tableView(tableView:heightForRowAtIndexPath:). ---- 返回Main.storyboard,...player.name ratingImageView.image = imageForRating(player.rating) } } 无论当什么时候设置了player的属性,它都会正确更新...结语 如果你有任何问题都可以在下面讨论,翻译过程中有个别地方翻译不是十分准确,希望大家批评指正后面会继续更新第二部分,敬请期待!

3K20

Swift| 基础语法(五)

前言 总结下 swift下的基础语法,里面涉及到:常量&变量、Swift中的数据类型、逻辑分支、循环、字符串相关、数组和字典、方法的书写调用等内容,考虑到阅读体验分多篇来展示,希望对大家学习swift...Swift| 基础语法(一) Swift| 基础语法(二) Swift| 基础语法(三) Swift| 基础语法(四) Swift| 基础语法(五) 本文涉及: 纯代码创建应用根试图 UILabel...、UIButton、UIImageView的使用 UITableView的使用 UITableView的使用 单例 从相册选择照片或者拍照 ---- 一、纯代码创建应用根试图 func application...} 在Swift中,创建tableViewCell的方法可以分为两种创建tableView时候注册和需要使用时手动创建。先聊聊创建tableView的时候直接注册cell: myTb?....vc02.title = "发现" let nav02 = UINavigationController(rootViewController: vc02) // 设置标题,选中状态图标

2K30

在iOS中怎样创建可展开的Table View?(下)

cellDescriptors数组.我们想更新选中行的"isExpanded"属性,所以在随后的点击它将会有正确的行为(如果它是打开的那么就合拢,如果它是合拢的那么就打开). func tableView...withRowAnimation: UITableViewRowAnimation.Fade) } 在if case里,我们将执行诗歌不同的任务: 我们要找到那个被点击的顶级cell的行索引.事实上,我们会执行一个搜索指向...响应其他用户操作 在CustomCell.swift文件中,你可以发现CustomCellDelegate协议的所需的代理方法都已经被声明.通过在ViewController类里实现它们我们需要设法让app...让我们再一次修改ViewController.swift文件,采用上面的协议.移到类的顶部,添加一个协议,如下: class ViewController: UIViewController, UITableViewDelegate...tableView的方法,主要的特点就是在一个plist文件中,所有cell的描述都使用具体的属性.我向你展示了当cell显示,打开或是选中的时候,如何使用代码处理cell的描述列表;此外,我给了你一个方法通过用户输入数据来直接更新

1.5K30

Swift-MVVM 简单演练(一)

color关键字,如果没有的话,建议你搜索attribute试试,因为一般设置属性的方法都可以解决多数你想解决的问题的。...reloadData() } } ---- 登录视图显示(访客视图) 现实中经常会遇到一些临时增加的需求,比如登录后显示的是一种视图,登录又显示另外一种视图,如果你的公司是面向公司内部的APP...这里我们暂时只讨论已登录和登录两种状态下的情况。...总结 使用代理传递消息是为了在控制器和视图之间解耦,让视图能够被多个控制器复用,如TableView 但是,如果视图仅仅是为了封装代码,而从控制器中剥离出来的,并且能够确认该视图不会被其它控制器引用,...而在登录状态下,导航栏上面的按钮都是显示注册和登录。

10.2K51

iOS工程师必看的 20 道 面试题

nonatomic修饰的对象不保证setter和getter的完整性,所以多个线程对它进行访问,它可能会返回初始化的对象。正因为如此,它比atomic快,但也是线程不安全的。 4. 什么是ARC?...}]; } Bug在于,在等了4秒之后,alertLabel并不会更新为Ready to Go。 原因是,所有UI的相关操作应该在主线程进行。...当我们可以在一个后台线程中等待4秒,但是一定要在主线程中更新alertLabel。...File-private 也是 Swift 3 新添加的权限。其被修饰的对象只能在当前文件中被使用。例如它可以被一个文件中的 class,extension,struct 共同使用。...true } else { return right } } 上面这种解法勉强正确,但是并不高效。

3.6K40

开源项目——『看知乎』iOS 版

用户搜索,输入用户名或部分用户名直接搜索搜索结果显示相关用户列表,点击单个用户转到该用户详情页。 项目展示 ? 首页.gif ? 首页答案列表.gif ? 答案详情.gif ?...所以这里我只用了一个 TableView,当选择不同的菜单项的时候,使用不同的数据源(UITableViewDataSource): lazy var userDynamicDataSource: UserDynamicDataSource...TouchUpInside) } } func selectMenuItem(item: UIButton) { //将选中的 item 设为选中色,并将上一次选中的 item 恢复为选中色...多个数据源的情况上面也提过了,点击不同的菜单项就使用不同的数据源。...关于面向协议编程 Swift2之后可以用 extension 给协议方法或者属性加上一个默认实现了,这使得 Swift 可以用协议模拟 Ruby 中用 module 实现的 mixin 效果,也就是通过协议扩展某个类的功能

1.2K50

iOS - RxSwift 项目实战记录

ReactiveX 最近刚刚把接手的OC项目搞定,经过深思熟虑后,本人决定下个项目起就使用Swift(学了这么久的Swift还没真正用到实际项目里。。。)...HUD 敲黑板 Moya的使用 Moya是基于Alamofire的网络请求库,这里我使用了Moya/Swift,它在Moya的基础上添加了对RxSwift的接口支持。...好吧,我们接下来说说如何优雅的来实现tableView的数据源。其实RxDataSources官网上已经有很明确的使用说明,不过我还是总结一下整个过程吧。...有的话那从今天开始就要认清楚这一点,【tableView其实是由section组成的】,所以在使用RxDataSources的过程中,即使你的setion只有一个,那你也得返回一个section的数组出去...的items了,所以此时tableView的数据会被更新

2.9K41

窥探Swift之协议(Protocol)和委托代理(Delegate)回调的使用

说到协议,在Objective-C中也是有协议的,并且Swift中的协议和Objc中的协议使用起来也是大同小异的,在Java等现代面向对象编程语言中有接口(Interface)的概念,其实和Swift中或者...原理图有了,接下来就要使用代码来创建出上述结构的数据以供TableView的数据源使用,下面的方法就是实现上述结构的函数。        ...上面使用的委托回调主要是使用Swift中的协议(Protocol)来实现的。那么如何使用协议来实现你自己的委托回调呢?这将是下面将要介绍的内容。   二....上面的场景在iOS开发中极为常见,使用场景也是比较广泛的。所以协议无论在Swift还是在iOS开发中都是极为重要的概念之一。...好今天的博客内容也挺多的了,就到此为止,剩下的东西,会在以后的博客中继续更新

3.3K80

你可能需要为你的 APP 适配 iOS 11

本文内容包括:集成了搜索的大标题栏、横向选项卡栏、Margins 和 Insets以及 UIScrollView和UITableView 的更新和功能更强大的滑动操作。 一....iOS 11 新增属性 UINavigationController和滚动交互 滚动的时候,以下交互操作都是由UINavigationController负责调动的: UIsearchController搜索框效果更新...就不会一次性计算所有的cell的高度了,只会计算当前屏幕能够显示的cell个数再加上几个,滑动时,tableView不停地得到新的cell,更新自己的contenSize,在滑到最后的时候,会得到正确的...因为不会缓存正确的行高,tableView reloadData的时候,会重新计算contentSize,就有可能会引起contentOffset的变化。...iOS11下不想使用Self-Sizing的话,可以通过以下方式关闭:(前言中提到的问题也是通过这种方式解决的) self.tableView.estimatedRowHeight = 0; self.tableView.estimatedSectionHeaderHeight

1.6K60

iOS开发遇到的一些小问题记录

view就可以 tableView.footerView = UIView() tableView.footerView.height = 0 contentSize自动计算问题 tableView会有一个自动计算...3. performSegue不响应问题 在测试segue的时候,直接使用代码调用,结果始终没有效果。...改成用 UIButton Action的方式有效,仔细搜索并分析发现问题主要是 在viewdidload周期内的segue会被最后更新的UI视图覆盖掉、也就是当前页面的主视图。所以看不出效果。...解决:在iOS开发中,使用delegate方式可以用来解决后台线程调用问题。 实际上这个时候是 UI, 后台线程组件 分开运行在 主线程、后台线程中。 后台线程通过delegate向主线程发起调用。...基于iOS自带的邮件反馈kit开发用户反馈功能 用Swift写一个发送邮件的iOS用户反馈 - 简书 9.

78910

实现 iOS 无感知上拉加载更多

思考:既然 UIScrollViewDelegate 的代理没有现成的代理回调,自己使用 KVO 去监听试试?...row == distance { loadMore() } } } 本代码可以在开源项目中的 SwiftCoinRankListController.swift...网上的思路(二) 然后在继续的搜索中,我看到了另外一个方案: 很多时候我们上拉刷新需要提前加载新数据,这时候利用 MJRefreshAutoFooter 的属性 triggerAutomaticallyRefreshPercent...使用 MJRefreshAutoFooter,这个简单,我直接把基类的 footer 给替换掉就可以了,本代码可以在开源项目中的 BaseTableViewController.swift 文件查看:.../// 设置尾部刷新控件,更新为无感知加载更多 let footer = MJRefreshAutoFooter() footer.triggerAutomaticallyRefreshPercent

2.1K40
领券