1. 程式人生 > >performSelector:withObject:afterDelay:呼叫無效的解決方法

performSelector:withObject:afterDelay:呼叫無效的解決方法

performSelector:withObject:afterDelay:呼叫後,指定的@selecter()沒有執行,[NSTimer timerWithTimeInterval:invocation:repeats:]也存在這個問題。反覆驗證後發現,這種現象出現在子執行緒中,主執行緒中可正常使用。因此必須保證呼叫performSelector:withObject:afterDelay:是在主執行緒中。

因此,可以使用GCD的方式,將此呼叫放在主執行緒中執行:

dispatch_async(dispatch_get_main_queue(), ^{

});

相關推薦

performSelector:withObject:afterDelay:呼叫無效解決方法

performSelector:withObject:afterDelay:呼叫後,指定的@selecter()沒有執行,[NSTimer timerWithTimeInterval:invocation:repeats:]也存在這個問題。反覆驗證後發現,這種現象出現在子執行緒中,主執行緒中可正常使用。因此

[iOS] performSelector:withObject:afterDelay:呼叫沒有作用的問題及解決方法

這個問題找了將近一天,baidu、google了很久,竟然沒有人遇到同樣問題? performSelector:withObject:afterDelay:和[NSTimer timerWithTimeInterval:invocation:repeats:]都存在此問題:

多執行緒二:performSelector:withObject:afterDelay:方法

面試題: 列印結果是:1、3 原因 performSelector:withObject:afterDelay:的本質是往Runloop中新增定時器 子執行緒預設沒有啟動Runloop 一、方法的含義 [self performSelector:@selector(t

28.React使用map循環創建對象綁定click無效解決方法

char pan style 鉆石 function blog lec [] 創建對象 var RechargeBtnEle = React.createClass({ getInitialState: function() { return

EditText的setText()方法無效解決方法

save 自動保存 ces enabled 改變 restore edit 方法 ets 解決方法: view.setSaveEnabled(false); 原因: 安卓會自動保存某些view的狀態,旋轉屏幕或打開一個活動後,onSaveInstanceState會保存

IOS開發證書顯示“此證書的簽發者無效解決方法

tle dsm OS art popu 今天 phoenix 刪除 雙擊 猴子原創,歡迎轉載。轉載請註明: 轉載自Cocos2Der-CSDN。謝謝。 原文地址:

使用模板創建linux虛擬機網卡eth0無效解決方法

vm ESXI LINUX 問題描述:在使用linux虛擬機模板部署完系統後使用ifconfig –a ,沒發現eth0,發現eth1,在/etc/sysconfig/network/下有一個ifcfg-eth0的文件,但是沒有ifcfg-eth1的文件。 解決方案:方法一:在創建模板虛擬機時的時

IDEA代碼格式化快捷鍵無效解決方法

ctrl 解決方法 inf 方法 分享圖片 ide info 圖片 .com 在IDEA內,代碼格式化快捷鍵為:CTRL+ALT+L 之所以按了沒有反應,大多數時候是因為和其它應用的全局快捷鍵相沖突。   比如網易雲: IDEA代碼格式化快捷鍵無效解決方法。

Idea中Springboot熱部署無效解決方法

oot depend dev mat project bsp end 找到 pen 僅適用IDEA中,eclipse中不需要設置 一、開啟idea自動make功能 1 - Enable Automake from the compiler PRESS: CTRL + SH

chrome瀏覽器模擬手機端:jquery click()點選無效解決方法

$(".sku-wrap .ok").click(); chrome瀏覽器模擬手機端,在油猴外掛中寫JS程式碼,然後發現click()點選失效。 解決方法:jquery的click()方法失效,可以使用原生JavaScript的click方法。 首先需要將jquery物件轉化成JS物件:

Loadrunner11不能呼叫IE8解決方法大全

引用網址:https://blog.csdn.net/meimei726322819/article/details/54963014 剛安裝了英文版的Loadrunner 11, 用的是IE8, 開始錄製時沒有啟動IE, 試了網上很多的方法,最終解決了問題。總結一般產生問題的原因如下。 1、當你主機上有

父容器display:flex後,子元素的內部元素height:100%無效解決方法

父容器display:flex後,子元素的內部元素height:100%無效解決方法 解救辦法:父類容器position:relative;子元素:position:absolute;width:100%,height:100%; 效果圖: 程式碼如下:

Ubuntu 16.04 Fcitx配置中Trigger Input Method熱鍵無效解決方法

問題描述 我在Ubuntu 16.04中下載安裝了搜狗拼音輸入法,與鍵盤-英語(美國)切換使用。因為我用慣了Windows 10中切換輸入法的熱鍵Win+Space,便也把Fcitx配置中的Trigger Input Method熱鍵改成了Super+Space

移動端ios直接設定currentTime無效解決方法

前段時間做過一個專案,每個頁面設定了同一個背景音樂,但客戶要求音樂從一個頁面進入另一個頁面後,要接著上一頁面播放時間播放,所以進入新頁面後設置currentTime為上個頁面播放時間 但ios系統直接設定無效,在判斷音樂可播放時(canplay)再設定currentTime

td標籤寬度無效解決方法

下列表格程式碼,如何使td標籤使width屬性生效,並自動換行? <table  border="2" cellspacing="0" cellpadding="0"> ......

VMware複製ubuntu16虛擬機器時提示控制代碼無效解決方法

第一步: 找到如下圖所示檔案:(Ubuntu16-32為虛擬機器名稱,每個人設定的不一樣,注意) 第二步: 以記事本開啟第一步找到的檔案 第三步: 修改下面圖示的一行程式碼,將"TRUE"改為"

Internal Server Error 無法訪問請求的頁面,因為該頁的相關配置資料無效 解決方法

win+r 執行 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i 重新註冊一下asp.net。 如果是vista作業系統,需要在dos命令視窗中執行以上的路徑,並且dos視窗必須是以管理員身份執行。否則會出現當前的操作需要

基礎連線已經關閉: 未能為 SSL/TLS 安全通道建立信任關係。 根據驗證過程,遠端證書無效------解決方法

Message = "基礎連線已經關閉: 未能為 SSL/TLS 安全通道建立信任關係。"   InnerException = {"根據驗證過程,遠端證書無效。"} 解決方法如下:   using System;using System.Collections.Gene

Eclipse Maven Build命令執行無效解決方法

現象右鍵專案- run as – maven install 時,控制檯沒有任何響應原因Jdk沒有配置maven的執行引數解決方法1.開啟eclipse的window選單:2.接著選定maven專案使用

angularJs a標籤重複點選無效解決方法

在A標籤上加入 ui-sref-opts="{reload:true}" 屬性ui-sref-opts="{reload:true}"起到重新整理當前超連結路由的作用例:<a href="javaScript:void(0);" ui-sref-opts="{reload:true}">提交<