小编S. *_*lin的帖子

如何在Xcode for Swift中使用代码格式化程序?

Xcode代码格式化程序Swift

我正在尝试自动格式化用Swift编写的代码.如果您在团队中工作并使用CVS并且不希望合并数小时,则这是必要的.

Ctrl+ I只是缩进,但是例如我希望在函数和Clang之类的所有东西之间有适当的空间.

xcode code-formatting swift

38
推荐指数
7
解决办法
4万
查看次数

Swift在协议中初始化常量变量

在Java中,您可以在接口中初始化最终的静态字符串.Swift中还有一个方法吗?

initialization interface swift

9
推荐指数
2
解决办法
3882
查看次数

键入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秒钟,否则永远不会触发请求.

search ios swift

5
推荐指数
1
解决办法
3054
查看次数

检测UIImage中处于滚动视图中的触摸位置

我有以下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中?

提前致谢!

uiscrollview uiimageview ios uitapgesturerecognizer swift

3
推荐指数
1
解决办法
3355
查看次数

异步下载后,在可见的UITableviewCell中设置图像

我有一个带有动态单元格的tableView.每个单元格都有一个imageView和一个textLabel.顺便说一句,我正在与Alamofire和AlamofireImage合作.我的问题是,第一个单元格(如果视图确实出现,您会看到)不会显示图像.但如果我向下滚动,我会看到其他细胞的图像.如果再次向上滚动,第一个单元格的图像也会出现.

  1. 首先,我在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)
  2. TableView计算用户并重新加载自身.

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return users?.count ?? 0
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在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)

uitableview ios swift alamofire

2
推荐指数
1
解决办法
1895
查看次数