我试图摆脱我的iPhone应用程序中的一些警告.我得到的最多的是当我有一个void函数时,我用[self myFunction];来调用它.警告在我调用函数的行上,它说:"找不到方法'-myFunction'(返回类型默认为'id')." 我需要做些什么来解决这个问题?谢谢
关于如何获得给定点的图像的像素颜色存在许多问题/答案.但是,对于大型图像(例如,甚至小到1000 x 1300),所有这些答案都非常慢(100-500ms).
大多数代码示例都绘制到图像上下文.当实际抽签时,所有这些都需要时间:
CGContextDrawImage(context, CGRectMake(0.0f, 0.0f, (CGFloat)width, (CGFloat)height), cgImage)
Run Code Online (Sandbox Code Playgroud)
在Instruments中对此进行检查后发现,通过从源图像复制数据来完成绘制:

我甚至尝试过不同的方法来获取数据,希望自己获得字节实际上会更有效率.
NSInteger pointX = trunc(point.x);
NSInteger pointY = trunc(point.y);
CGImageRef cgImage = CGImageCreateWithImageInRect(self.CGImage,
CGRectMake(pointX * self.scale,
pointY * self.scale,
1.0f,
1.0f));
CGDataProviderRef provider = CGImageGetDataProvider(cgImage);
CFDataRef data = CGDataProviderCopyData(provider);
CGImageRelease(cgImage);
UInt8* buffer = (UInt8*)CFDataGetBytePtr(data);
CGFloat red = (float)buffer[0] / 255.0f;
CGFloat green = (float)buffer[1] / 255.0f;
CGFloat blue = (float)buffer[2] / 255.0f;
CGFloat alpha = (float)buffer[3] / 255.0f;
CFRelease(data);
UIColor *pixelColor = [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; …Run Code Online (Sandbox Code Playgroud) 我是一名从事iPhone应用程序的初学程序员.我想知道是否有人可以帮我解决我的应用中的错误.在XCode上编程时,我发现我的应用程序在添加更多代码后突然在启动时崩溃.输出面板显示以下错误:
*由于未捕获的异常'NSUnknownKeyException'终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不是键值编码兼容键播放.*第一掷调用堆栈:(0x1c91012 0x10cee7e 0x1d19fb1 0xb7ae41 0xafc5f8 0xafc0e7 0xb26b58 0x230019 0x10e2663 0x1c8c45a 0x22eb1c 0xf37e7 0xf3dc8 0xf3ff8 0xf4232 0x433d5 0x4376f 0x43905 0x8eceab6 0x4c917 0x1096c 0x1194b 0x22cb5 0x23beb 0x15698 0x1becdf9 0x1becad0 0x1c06bf5 0x1c06962 0x1c37bb6 0x1c36f44 0x1c36e1b 0x1117a 0x12ffc 0x222d 0x2155)的libc ++ abi.dylib :终止调用抛出异常(lldb)
应用程序终止时显示的代码如下所示
#import <UIKit/UIKit.h>
#import "CIAAppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([CIAAppDelegate class]));
}
}
Run Code Online (Sandbox Code Playgroud)
我的ViewController.h显示:
#import <UIKit/UIKit.h>
@interface CIAViewController : UIViewController {
IBOutlet UILabel *cruzia;
IBOutlet UILabel *textarea;
IBOutlet UIButton *playbtn;
IBOutlet …Run Code Online (Sandbox Code Playgroud) 在tvOS上,UITableView将漂亮的渐变蒙版应用于视图的顶部和底部.在大多数情况下,这是所需的外观,但在某些情况下则不是.有没有办法有条件地关闭它?如果没有官方的方式这样做,有没有人找到一种消除这种影响的间接方式?
我正在尝试获取Array对它的引用并对其进行修改.因为ArraySwift中的s是值类型而不是引用类型,如果我首先将我的数组赋值给变量,我得到的是数组的副本而不是实际的数组:
var odds = ["1", "3", "5"]
var evens = ["2", "4", "6"]
var source = odds
var destination = evens
var one = odds.first!
source.removeFirst() // only removes the first element of the `source` array, not the `odds` array
destination.append(one)
Run Code Online (Sandbox Code Playgroud)
当我们查看odds和evens数组时,它们没有改变,因为我们更改了source和destination数组.
我知道我可以inout在函数上使用参数属性来通过引用而不是通过值传递它们:
func move(inout source: [String], inout destination: [String], value:String) {
source.removeAtIndex(source.indexOf(value)!)
destination.append(value)
}
move(&odds, destination: &evens, value:one)
Run Code Online (Sandbox Code Playgroud)
有没有办法通过引用而不是按值将这些数组分配给变量?
我正在尝试使用Swift等效initWithContentsOfFile:的Array.文档说明等效的是convenience init(contentsOfFile aPath: String!)
我试图用以下代码调用它:
var path = NSBundle.mainBundle().pathForResource("Standards", ofType: "plist")
var rawStandards = Array<Dictionary<String, AnyObject?>>(contentsOfFile: path)
Run Code Online (Sandbox Code Playgroud)
但是,编译器告诉我,它无法找到接受所提供参数的重载.我错过了什么?
我有一个视图控制器具有以下层次结构:
UIViewController
|
| -view
| -presentView(UIView)
| -stagedView(UIView)
| -UIToolbar
我正在使用该transitionFromView:toView:duration:options:completion:方法动画页面卷曲,以便在presentView和之间交换stagedView.当前和分段视图仅覆盖屏幕的大部分,底部有一个UIToolbar.当我使用UIViewAnimationOptionTransitionCurlUp转换时,它会动画整个根视图(包括工具栏),而不仅仅是涉及的两个视图.
[UIView transitionFromView:self.presentView
toView:self.stagedView
duration:0.5f
options:UIViewAnimationOptionTransitionCurlUp
completion:^ (BOOL finished) {
if (finished) {
// cleanup code
}}];
Run Code Online (Sandbox Code Playgroud)
我正在编写一个iOS应用程序,我要求的是从文件系统中安全地删除文件,这些文件系统可能从其他应用程序提供给我的应用程序(想想"打开...").这些文件放在我的应用程序可访问的临时文件夹中,但是一旦我通过标准保护API将它们加密到我自己的文档文件夹中,我就想安全删除这些文件.知道怎么做吗?
我有一个UITableViewCell使用AutoLayout的自定义标签.它的约束是通过内容视图的常量前导,尾随,底部和顶部空间设置的.这些单元格出现的表视图控制器位于a UISplitViewController.加载表视图时,我使用以下代码计算单元格的高度:
CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
CGFloat height = size.height;
Run Code Online (Sandbox Code Playgroud)
在肖像中,这允许我正确显示单元格.以下是部分单元格的屏幕截图:

但是,当我将iPad旋转到横向时,它不会计算正确的尺寸并最终填充太多:

tableview:heightForRowAtIndexPath:在旋转内容视图的大小时调用时设置断点未正确报告.事实上,它报告了表视图的旧的,更窄的大小.
如何让我的细胞UISplitViewController在iPad上适当调整大小?
我最喜欢的iOS隐藏调试工具之一是recursiveDescription在UIView实例上使用.例如,这对于对可能在屏幕外的视图位置进行故障排除非常有用.在tvOS上调试Focus Engine带来了一系列挑战,尤其是它认为可聚焦的元素.
是否有任何用于tvOS的隐藏调试工具来内省Focus Engine内部的内容?
ios ×3
iphone ×3
swift ×2
tvos ×2
uitableview ×2
autolayout ×1
debugging ×1
encryption ×1
ios7 ×1
objective-c ×1
performance ×1
sdk ×1
security ×1
uiimage ×1
warnings ×1
xcode4 ×1