小编Dha*_*esh的帖子

UIWebView随机崩溃在[UIViewAnimationState release]:消息发送到解除分配的实例

我有一个随机UIWebView使用崩溃iOS8.1UIWebView,使用iPhone5的.在我的测试中,崩溃不会出现在iOS7上.

我创建了这个github存储库来重现崩溃:https: //github.com/crarau/WebViewCrash

基本上我正在添加一个UIWebView并加载www.amazon.com

随机的应用程序崩溃的上WebThreadEXC_ARM_BREAKPOINT

在控制台上启用Zombie跟踪后,会显示以下消息:

[UIViewAnimationState release]: message sent to deallocated instance 0x14deff70
Run Code Online (Sandbox Code Playgroud)

这里UIView加载时会发生什么:

[super viewDidLoad];

NSURLRequest * urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.amazon.com"]];

self.webView.layer.cornerRadius = 0;
self.webView.userInteractionEnabled = YES;
self.webView.multipleTouchEnabled = YES;
self.webView.backgroundColor = [UIColor clearColor];
self.webView.scrollView.scrollEnabled = NO;
self.webView.scrollView.bounces = NO;
[self.webView loadRequest:urlRequest];
Run Code Online (Sandbox Code Playgroud)

异常堆栈跟踪:

    Exception Type:  EXC_BREAKPOINT (SIGTRAP)
    Exception Codes: 0x0000000000000001, 0x000000000000defe
    Triggered by Thread:  2

    Thread …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uiwebview ios

21
推荐指数
2
解决办法
6336
查看次数

如何在swift中转换NSValue中的CGPoint?

正如我的问题标题说我怎么能转换CGPointNSValues所以我可以存储然后进入数组在swift中.

在Objective-C中,我们可以这样做:

  // CGPoint converted to NSValue
     CGPoint point = CGPointMake(9, 9);
     NSValue *pointObj = [NSValue valueWithCGPoint:point];
Run Code Online (Sandbox Code Playgroud)

但有人能告诉我,我怎么能在swift中做到这一点?

提前致谢.

cgpoint ios nsvalue swift

20
推荐指数
3
解决办法
9593
查看次数

如何使用swift在表视图中实现延迟加载图像

我想使用swift在我的表视图中使用延迟加载概念.在我的表视图中,我显示了多个包含产品图像和产品名称的单元格.请帮我解决问题.

iphone uitableview ios swift

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

Swift - 从Double中删除尾随零

从双打中删除尾随零的函数是什么?

var double = 3.0
var double2 = 3.10

println(func(double)) // 3
println(func(double2)) // 3.1
Run Code Online (Sandbox Code Playgroud)

double trailing ios swift

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

Swift UIScrollView - 仅针对垂直滚动的正确实现

事先,我道歉,因为我会说我是iOS编程的初学者.

我想使用,UIScrollView因为要显示的内容超出了屏幕的高度.因此,我只想垂直滚动而不是水平滚动.

我正在使用故事板来绘制视图AutoLayout.

下面的是我的截图UIViewControllerUIScrollView:

在此输入图像描述 在此输入图像描述

然后我将Label更改为这样的大文本

override func viewDidLoad() {
    super.viewDidLoad()

    self.label1Label.text = "Seize jours après la chute du président Blaise Compaoré, le Burkina Faso a un nouveau chef d'EtatA l'issue d'ultimes tractions, civils et militaires se sont accordés, lundi 17 novembre, sur le nom du diplomate Michel KafandoSeize jours après la chute du président Blaise Compaoré, le Burkina Faso a un nouveau chef d'EtatA l'issue d'ultimes tractions, civils et militaires se sont …
Run Code Online (Sandbox Code Playgroud)

uiscrollview uiview ios autolayout swift

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

在Swift中传递数据

我一直在寻找答案,但只找到了segues的答案.

我有viewController1一个可以按下的按钮viewController2.没有代码,我通过Interface builder进行设置.在viewController2我有一个按钮,驳回本身

 self.dismissViewControllerAnimated(true, completion, nil)
Run Code Online (Sandbox Code Playgroud)

我想从viewController2后面传递一个字符串到viewController1视图被解除时.我该怎么做呢?另外,我正在使用swift.

提前致谢!

model-view-controller swift xcode6 ios8

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

基于NSTableview View的滚动性能

我是OS X Cocoa编程的新手,但已经决定使用新的Swift语言.

我有NSTableView1500行(将更多)和7列.有一个复选框列,其余是文本字段,一个带有日期格式,另一个带有货币格式器.我首先将其设置为基于单元格.滚动是黄油平滑的(我甚至做了一个测试,增加了100万行,仍然很平滑).这是在小牛队.

然后我升级到Yosemite,滚动性能明显降低.在表视图上启用Core动画层复选框改进了这一点,但仍然比在小牛队中更糟糕.

在我试图提高优胜美地的滚动性能时,我遇到了"基于视图"的NSTableViews.从文档中可以看出,基本上不应该使用基于单元格的表视图,并且只支持旧项目.

因此,我将我的表转换为基于视图的表视图.样本简单概念,没什么复杂的.滚动表现绝对可怕.如果你滚得非常慢,它就足够平滑,但是一旦你开始滚动得更快,就像它没有足够的缓冲一样,它会开始出现口吃和抽搐.此外,当NSTableview填充时,对焦和散焦窗口需要一秒钟或更长时间(我再次在小牛队中尝试过这个并不存在,滚动也好一点,但仍然没有接近基于单元格).

基于视图NSTableviews总是不利于滚动性能吗?如果是这样,苹果为什么建议使用基于细胞的NSTableviews.

此外,一些应用程序,如safari和Reeder2即使在约塞米蒂也有黄油平滑滚动.他们是如何做到这一点的?

我是否遗漏了某些东西,或者OS X的性能是否会随着每件新事物而下地狱?即

小牛队>优胜美地队

基于单元格>基于视图

旧>新

任何帮助深表感谢.谢谢!

macos cocoa scroll nstableview swift

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

如何在iOS 10的iMessage应用程序中发送带有图像和标题的音频文件?

我正在创建iMessage应用程序并尝试将音频或视频文件发送给其他用户.

视频文件工作正常,但它与音频文件无法正常工作.

我目前的代码是:

let destinationFilename = mp3FileNames[i]
let destinationURL =  docDirectoryURL.appendingPathComponent(destinationFilename)

if let conversation = activeConversation {

    let layout = MSMessageTemplateLayout()
    layout.image = UIImage.init(named: "audio-x-generic-icon")
    layout.mediaFileURL = destinationURL
    layout.caption = selectedSongObj.name

    let message = MSMessage()
    message.layout = layout
    message.url = URL(string: "emptyURL")

    conversation.insert(message, completionHandler: nil)


    return
}
Run Code Online (Sandbox Code Playgroud)

看起来好像layout.mediaFileURL = destinationURL没有在邮件中添加任何文件.

当我尝试使用上面的代码发送文件时.它看起来如下所示:

在此输入图像描述

它看起来很好,但没有音频可玩,但如果我这样尝试:

let destinationFilename = mp3FileNames[i]
let destinationURL =  docDirectoryURL.appendingPathComponent(destinationFilename)

if let conversation = activeConversation {

    conversation.insertAttachment(destinationURL!, withAlternateFilename: nil, completionHandler: nil)
    return
}
Run Code Online (Sandbox Code Playgroud)

以上代码的结果是:

在此输入图像描述

我可以播放该消息的音频,因为它就在那里.但是该消息的问题是我无法附加任何图像或标题.

如何将图像和音频文件附加到同一条消息中.

如果可能而不是图像,我可以添加GIF吗?

非常感谢任何帮助,谢谢.

imessage swift swift3 ios10 ios-messages-extension

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

NSNotificationCenter在Swift中添加addObserver,同时调用私有方法

我使用addObserverAPI来接收通知:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "methodOFReceivedNotication:", name:"NotificationIdentifier", object: nil)    
Run Code Online (Sandbox Code Playgroud)

我的方法是:

func methodOFReceivedNotication(notification: NSNotification){
//Action take on Notification
}    
Run Code Online (Sandbox Code Playgroud)

是的,它有效!但是当我将方法更改methodOFReceivedNotication为私有时:

private func methodOFReceivedNotication(notification: NSNotification){
//Action take on Notification
}    
Run Code Online (Sandbox Code Playgroud)

xCode发给我一个错误: unrecognized selector sent to instance

如何在目标时调用私有方法self?我不想将methodOFReceivedNotication方法暴露给任何其他人.

ios swift

12
推荐指数
2
解决办法
6555
查看次数

如何使用自定义类类型作为Swift中Dictionary的键?

我正在研究一个使用Swift构建的项目,我正在尝试创建一个字典来存储一个名为Pixel的自定义类的对象(KEY,用于存储RGB值等颜色信息)和int值(Value,用于计算多少相同颜色出现在同一图像上的次数).

如果这是在C#中,则工作代码应为:

Dictionary<Pixel, int> colorDictionary = new Dictionary< Pixel, int> ();

在Swift中,我试过:

var colorDictionary = Dictionary<Pixel, Int>()
Run Code Online (Sandbox Code Playgroud)

但是,我得到的错误:

"类型'Pixel'不符合协议'Hashable'"

我该怎么做才能解决这个问题?非常感谢!

dictionary swift

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