小编fuz*_*uzz的帖子

当服务器上的图像文件发生变化时,我的应用程序中的SDWebImage缓存图像会发生什么?

我正在使用该SDWebImage库在我的应用程序中缓存Web图像:

https://github.com/rs/SDWebImage/blob/master/README.md

目前的用法:

[imageView setImageWithURL:[NSURL URLWithString:profilePictureUrl] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
Run Code Online (Sandbox Code Playgroud)

我的问题是,一旦图像被缓存后会发生什么,然后几天后,服务器上的图像文件已用新图像更新?

目前我的应用程序仍在显示缓存的图像.

我无法在任何有关设置缓存超时的文档中看到或识别出文件大小已更改的内容.

如果有人有使用这个特定库的经验,那么任何帮助将不胜感激.

提前致谢.

iphone caching objective-c uiimageview sdwebimage

48
推荐指数
5
解决办法
3万
查看次数

Swift中的MIN()和MAX()并将Int转换为CGFloat

我用以下方法得到了一些错误:

1)我如何return screenHeight / cellCount作为CGFLoat第一种方法?

2)如何在第二种方法中使用等效的ObjC的MIN()和MAX()?

func tableView(tableView: UITableView!, heightForRowAtIndexPath indexPath: NSIndexPath!) -> CGFloat {
    var cellCount = Int(self.tableView.numberOfRowsInSection(indexPath.section))

    return screenHeight / cellCount as CGFloat
}

// #pragma mark - UIScrollViewDelegate

func scrollViewDidScroll(scrollView: UIScrollView) {
    let height = CGFloat(scrollView.bounds.size.height)
    let position = CGFloat(MAX(scrollView.contentOffset.y, 0.0))

    let percent = CGFloat(MIN(position / height, 1.0))
    blurredImageView.alpha = percent
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios swift

48
推荐指数
2
解决办法
3万
查看次数

显示启动画面的时间超过默认秒数

是否可以在指定的秒数内显示Default.png?我有一个客户端希望显示的启动画面的时间长于当前时间.

他们希望它显示2 - 3秒.

splash-screen objective-c ios

44
推荐指数
10
解决办法
10万
查看次数

如何指定非泛型Swift类型应符合协议?

我想实现一个接受某种类类型的Swift方法,但只接受那些符合特定协议的类的实例.例如,在Objective-C中我有这样的方法:

- (void)addFilter:(GPUImageOutput<GPUImageInput> *)newFilter;
Run Code Online (Sandbox Code Playgroud)

哪个GPUImageOutput是特定的类,并且GPUImageInput是一个协议.只有GPUImageOutput符合此协议的类才是此方法的可接受输入.

但是,上面的自动Swift生成的版本是

func addFilter(newFilter: GPUImageOutput!)
Run Code Online (Sandbox Code Playgroud)

这消除了GPUImageOutput类符合GPUImageInput协议的要求,这将允许传入不兼容的对象(然后在运行时崩溃).当我尝试将其定义GPUImageOutput<GPUImageInput>为时,编译器会抛出错误

无法专门化非泛型类型'GPUImageOutput'

我如何在Swift中的参数中进行这样的类和协议专门化?

swift

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

Ruby/Rails - 获取数组中的最后两个值

@numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ]

@numbers.last 会给我8

我需要抓住最后两个记录.到目前为止,我已经尝试了这个,但它抛出了NoMethodError:

@numbers.last - 1

ruby ruby-on-rails

41
推荐指数
2
解决办法
3万
查看次数

Initializer不会覆盖其超类中的指定初始值设定项

所以我刚刚升级到Xcode 6.3 Beta 3,并且出现了很多与以下内容相关的错误:

Initializer不会覆盖其超类中的指定初始值设定项.

override init() {
    super.init()
}
Run Code Online (Sandbox Code Playgroud)

例如,这是一个UIButton类:

class CustomButton: UIButton {

    var target: AnyObject!
    var selector: Selector!
    var action: (() -> Void)!

    override init() { // Initializer does not override a designated initializer from its superclass
        super.init() // Must call a designated initializer of the superclass 'UIButton'
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

    override init(frame: CGRect) {
        super.init(frame: frame)
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的UIViewController课程之一:

class CustomAlertView: UIViewController {

    required init(coder aDecoder: …
Run Code Online (Sandbox Code Playgroud)

initializer uiviewcontroller ios swift

37
推荐指数
2
解决办法
4万
查看次数

AutoMapper排除字段

我正在尝试将一个对象映射到另一个对象,但对象非常复杂.在开发过程中,我希望能够排除一堆字段并逐个访问它们,或者能够指定仅映射我想要的字段并在每次测试成功时增加它们.

所以:

class    
    string field1    
    string field2    
    string field3
Run Code Online (Sandbox Code Playgroud)

现在我想映射field1,测试,修复然后移动到field2那时field3.

这可能吗?

c# automapper

24
推荐指数
1
解决办法
9453
查看次数

从Swift中的另一个ViewController访问变量

我有以下内容ViewController:

class PageContentViewController: UIViewController {

    var pageIndex: Int

}
Run Code Online (Sandbox Code Playgroud)

我如何pageIndex从另一个ViewController 访问?

我需要访问pageIndex此功能:

func pageViewController(pageViewController: UIPageViewController!, viewControllerBeforeViewController viewController: UIViewController!) -> UIViewController! {

    //var index: Int
    //index = ?

    NSUInteger index = ((PageContentViewController*) viewController).pageIndex; // in Swift?

    if ((index == 0) || (index == NSNotFound)) {
        return nil;
    }

    index--;

    return [self viewControllerAtIndex:index]; // in Swift?
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios uipageviewcontroller swift

24
推荐指数
3
解决办法
6万
查看次数

使用可选参数重载方法

我有一个类如下,有两个重载方法.

Class A
{
    public string x(string a, string b)
    {
        return "hello" + a + b;
    }

    public string x(string a, string b, string c = "bye")
    {
        return c + a + b;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我x从另一个带有两个参数的类调用该方法,那么将执行哪个方法以及为什么?即

string result = new A().x("Fname", "Lname");
Run Code Online (Sandbox Code Playgroud)

我在我的控制台应用程序中测试了这个,并且执行了2个参数的方法.有人可以解释一下吗?

c# overloading

24
推荐指数
1
解决办法
6481
查看次数

Swift NSCoding不工作

我在使用NSCodingSwift时遇到了麻烦.我试图实现协议,但每当我调用我的save()方法时我都会崩溃.Xcode让我上线了encodeWithCoder.这是我的代码,任何建议都会随之而来.

class CourseList: NSObject, NSCoding {
    ...

    init(coder aDecoder: NSCoder!){
        super.init()
        if aDecoder != nil {
            self.courses = aDecoder.decodeObjectForKey("courses") as Dictionary<String,course>
        }
    }

    func encodeWithCoder(aCoder: NSCoder!) {
        aCoder!.encodeObject(self.courses, forKey: "courses") // EXC_BAD_INSTRUCTOIN


    }
}
Run Code Online (Sandbox Code Playgroud)

我写了save()load()打电话给ViewController.

func save() {
    var archivedObject = NSKeyedArchiver.archivedDataWithRootObject(History)  //NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    var defaults = NSUserDefaults.standardUserDefaults()  //[defaults setObject:archivedObject forKey:<key_for_archived_object>];
    defaults.setObject(History.courses, forKey: "courses")
    defaults.synchronize()
}

func load() {
    var defaults = NSUserDefaults.standardUserDefaults()  // NSUserDefaults …
Run Code Online (Sandbox Code Playgroud)

swift

22
推荐指数
2
解决办法
2万
查看次数