Xcode代码格式化程序Swift
我正在尝试自动格式化用Swift编写的代码.如果您在团队中工作并使用CVS并且不希望合并数小时,则这是必要的.
Ctrl+ I只是缩进,但是例如我希望在函数和Clang之类的所有东西之间有适当的空间.
在Java中,您可以在接口中初始化最终的静态字符串.Swift中还有一个方法吗?
我在你用Swift编写的时候尝试实现搜索.它已经工作但我需要一些调整.我发送每封输入的信件
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
let debouncedFindUser = debounce(
Static.searchDebounceInterval,
Static.q,
findUser)
debouncedFindUser()
}
Run Code Online (Sandbox Code Playgroud)
对后端的请求.
func findUser() -> () {
SearchService.sharedInstance.getUser(0, numberOfItems: 100,
searchString: searchUserBar.text.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
,
success: {SearchUserDto -> Void in
if self.searchUserBar.text != nil {
self.updateSearch()
}
},
failure: {NSError -> Void in
})
}
Run Code Online (Sandbox Code Playgroud)
我尝试了在这里找到的Debounce的实现如何去抖动方法调用?
我的问题:
如果在一定时间内触发了方法调用,我想"重启"它.所以让我们夸张一点.
请求仅在搜索文本未键入2秒后才开始.因此,如果我是一个快速的typer并且每0.5秒输入一个字母,除非我暂停至少2秒钟,否则永远不会触发请求.
我有以下UI层次结构:
UIView - > UIScrollView - > UIImageView
这是必要的,因为我想放大和缩小我的图像.到目前为止一切都很好,一切正常.现在我想检测图像的触摸位置.我已经阅读了很多,如果我只是在UIView中有一个UIImage,它就有效.不幸的是我需要它用于第一个描述的层次结构
class TestController: UIViewController, UIScrollViewDelegate {
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var myImageView: UIImageView!
@IBOutlet var myGestureRecognizer: UITapGestureRecognizer!
override func viewDidLoad() {
super.viewDidLoad()
self.myImageView.addGestureRecognizer(myGestureRecognizer)
myImageView.userInteractionEnabled = true
}
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
let touch = touches.anyObject()! as UITouch
let location = touch.locationInView(self.myImageView)
println(location)
}
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return self.myImageView
}
.....
}
Run Code Online (Sandbox Code Playgroud)
我试图将"myGestureRecognizer"添加到UIView以及UIImageView甚至所有3(UIView,UIScrollView,UIImageView).它对我不起作用,我不知道该怎么办.
如何在UIImageView中检测触摸的位置(只需单击),UIImageView放在UIScrollView中?
提前致谢!
我有一个带有动态单元格的tableView.每个单元格都有一个imageView和一个textLabel.顺便说一句,我正在与Alamofire和AlamofireImage合作.我的问题是,第一个单元格(如果视图确实出现,您会看到)不会显示图像.但如果我向下滚动,我会看到其他细胞的图像.如果再次向上滚动,第一个单元格的图像也会出现.
首先,我在viewDidLoad方法中下载用户数据.完成此操作后,我使用tableView.reloadData()更新tableview.
override func viewDidLoad() {
super.viewDidLoad()
MYRequest_getUsers(//...
,
success: {response -> Void in
self.users = response
dispatch_async(dispatch_get_main_queue(),{
self.tableView.reloadData()
})
},
failure: {NSError -> Void in
debugPrint(NSError)
})
}
Run Code Online (Sandbox Code Playgroud)TableView计算用户并重新加载自身.
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return users?.count ?? 0
}
Run Code Online (Sandbox Code Playgroud)在tableView_cellForRowAtIndexPath方法中,我使用用户数据填充单元格.
let cell = tableView.dequeueReusableCellWithIdentifier(self.identifier) as! UserCell
cell.userNameLabel.tag = indexPath.row
let rowData: User = self.users?[cell.userNameLabel.tag] as User!
cell.userNameLabel.text = rowData.getName()
let avatarURL = rowData.getAvatarURL() ?? ""
cell.userImageView.af_setImageWithURL(imgURL, placeholderImage: placeholderImage)
return cell
Run Code Online (Sandbox Code Playgroud)我的想法是,在加载用户数据后,tableView开始绘制自己并放置名称(因为它已经在userData中).但是图像是异步下载的(我猜),所以它们在延迟一段时间之后来自后端并且已经绘制了tableView.上下滚动后,我看到了它们.
我想打开屏幕而不上下滚动.Tableview应在加载后自动设置图像.所以我想做一个回调并使用而不是
cell.userImageView.af_setImageWithURL(imgURL, placeholderImage: …
Run Code Online (Sandbox Code Playgroud) swift ×5
ios ×3
alamofire ×1
interface ×1
search ×1
uiimageview ×1
uiscrollview ×1
uitableview ×1
xcode ×1