小编Bar*_*ski的帖子

将writeToFile:原子地:覆盖数据?

非常简单的问题,但在Apple的文档中似乎并不清楚.

writeToFile:atomically:用于NSData,NSArray等覆盖在文件上现有的数据?

objective-c ios

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

UIModalPresentationFormSheet调整大小视图

我想知道在使用时,我如何调整视图大小UIModalPresentationFormSheetmodalPresentationStyle,它看起来像它有一个固定的大小,所以我在想,如果有任何人都设法操纵从大小角度弹出视图.

所以有UIModalPresentationFormSheet一个固定的视图大小或完整的视图,我在介于两者之间.

modal-dialog presentation ipad uimodalpresentationformsh

43
推荐指数
1
解决办法
4万
查看次数

UITableView dequeueReusableCellWithIdentifier Theory

当苹果UITableView为第一款iPhone 开发时,他们在滚动浏览时会遇到性能问题.然后,一位聪明的工程师发现,造成这种情况的原因是物品的分配需要付出代价,因此他想出了一种重用细胞的方法.

"对象分配具有性能成本,特别是如果分配必须在短时间内重复发生 - 例如,当用户滚动表视图时.如果重用单元而不是分配新单元,则可以大大提高表视图性能."

来源:iOS参考图书馆

要重用您使用的单元格:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
Run Code Online (Sandbox Code Playgroud)

现在,我想知道的是,这里究竟发生了什么?如果有一个具有该标识符的单元格并且只返回那个标识符,它是否在TableView中查找?好吧,但是,如果它发送一个引用而不是分配,我有一个表视图,让我们说4个具有相同标识符的单元格都可见.如何在不分配的情况下将自身增加到四个实例中?

我想知道这一点,因为我正在构建一个日历类型组件,并且所有单元格只有更改中的文本具有相同的结构.所以,如果我能以某种方式重用我的细胞而不是分配,我想我可能会获得更好的表现.

我自己的理论是它分配了四个细胞(仅仅因为它也有).当一个单元格从屏幕上消失时,它将被放入TableView重用队列中.当需要一个新的单元时,它会在que中查找具有相同标识符的单元是否可用,它会调用prepareForReuse该单元上的方法并将其自身从队列中删除.

iphone uitableview reuseidentifier

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

当其alpha设置为0.0时,UIButton是否会被禁用?

我的应用程序中有几个按钮,其alpha当前设置为零.这些按钮完全没有响应,但只要我增加他们的alpha,他们就会开始响应.这是预期的行为吗?

xcode monodevelop xamarin.ios

16
推荐指数
1
解决办法
4619
查看次数

删除UIWebView的内部缓存

我正在展示一个网络应用程序UIWebView,有时页面内容会发生变化.更改内容后,应用程序将清除缓存.但是当我去一个我以前访问过的页面时,UIWebView它不发送HTTP GET请求,但是从缓存加载,即使我已经禁用了缓存,如下所示:

[[NSURLCache sharedURLCache] removeAllCachedResponses];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
Run Code Online (Sandbox Code Playgroud)

最初我正在使用cachePolicy加载请求cachePolicy:NSURLRequestReturnCacheDataElseLoad.

[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:myURLString] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:10.0]];
Run Code Online (Sandbox Code Playgroud)

UIWebView有某种内部缓存.已访问的页面将从此内部缓存加载而不是通过NSURLCache,也没有发送请求.

有没有办法清除内部缓存UIWebView?我甚至正在重新创建,UIWebView但缓存仍在那里.

cocoa-touch caching uiwebview nsurlcache ios

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

如何使用Objective-C中的块进行结构化编程

当使用返回块的方法时,它们可以非常方便.但是,当你必须将它们中的一些串在一起时,它会很快变得混乱

例如,您必须连续调用4个URL:

[remoteAPIWithURL:url1 success:^(int status){
    [remoteAPIWithURL:url2 success:^(int status){
        [remoteAPIWithURL:url3 success:^(int status){
            [remoteAPIWithURL:url2 success:^(int status){
            //succes!!!
            }];
        }];
    }];
}];
Run Code Online (Sandbox Code Playgroud)

因此,对于每次迭代,我都会更深入一级,我甚至还没有处理嵌套块中的错误.

当存在实际循环时,它会变得更糟.例如,假设我想以100个块的形式上传文件:

- (void) continueUploadWithBlockNr:(int)blockNr
{
    if(blocknr>=100) 
    {
    //success!!!
    }
    [remoteAPIUploadFile:file withBlockNr:blockNr success:^(int status)
    {
        [self continueUploadWithBlockNr:blockNr];
    }];
}
Run Code Online (Sandbox Code Playgroud)

这感觉非常不直观,并且非常快速地变得非常难以理解.

在.Net中,他们使用async和await关键字解决了所有这些问题,基本上将这些延续展开为一个看似同步的流程.

Objective C中的最佳实践是什么?

lambda continuations objective-c structured-programming objective-c-blocks

10
推荐指数
1
解决办法
1056
查看次数

iOS中的图像循环换行

我有一个问题 - 我想创建一个循环包装函数,它将包装一个图像,如下所示:

图像包装

这在OSX中可用,但在iOS上不可用.

到目前为止我的逻辑是:

将图像分成x几个部分和每个部分:

  1. 旋转alpha度数
  2. 在x轴上缩放图像以创建图像的菱形"扭曲"效果
  3. 向后旋转 90 - atan((h / 2) / (w / 2))
  4. 翻译偏移量

我的问题是,这似乎不准确,我无法在数学上弄清楚如何正确地做到这一点 - 任何帮助都将受到大力赞赏.

链接到OSX文档CICircularWrap:

https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/CoreImageFilterReference/Reference/reference.html#//apple_ref/doc/filter/ci/CICircularWrap

iphone core-graphics objective-c uiimage ios

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

在C++中创建一个默认构造函数

这可能是一个愚蠢的问题,但我在网上找不到很多关于在C++中创建自己的默认构造函数的信息.它似乎只是一个没有参数的构造函数.但是,我试图像这样创建我的默认构造函数:

Tree::Tree()  {root = NULL;}
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

Tree::Tree() {}
Run Code Online (Sandbox Code Playgroud)

当我尝试其中任何一个时,我收到错误:

没有重载函数"Tree :: Tree"的实例与指定的类型匹配.

我似乎无法弄清楚这意味着什么.

我在我的.cpp文件中创建这个构造函数.我也应该在我的header(.h)文件中做些什么吗?

c++ default-constructor

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

我如何知道UIScrollView何时停止减速?

我想在UIScrollView停止时添加动画?我该如何实现呢?通过使用计时器并检查减速值?或者我认为建议使用4.0块.

iphone events objective-c uiscrollview ipad

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