小编Mar*_*ark的帖子

当表不可见时,阻止/推迟来自 NSFetchedResultsController 的 tableview 更新

Xcode 11.0

斯威夫特 5.1

我正在使用 Core Data 开发一个“简单”的应用程序。

单个 Core Data 实体名为 Topic,包括 Title (String)、Details (String) 和 isFavorite (Bool)

我使用的是定制的UITabBarController有3个标签- Random TopicFavorite TopicsAll Topics

最喜欢的主题和所有主题是 UITableViews 共享相同的子类,TopicsViewController.

使用自定义,TopicTabBarController我根据选项卡在 TopicsViewController 中设置了一个属性,该属性确定是否将谓词与 FetchRequest 一起用于共享此控制器的两个选项卡。

即使使用 FRC 缓存,这也能按预期工作(我对 Swift 很陌生!)

如果某个主题在任何视图上被收藏,则收藏主题和所有主题中的 tableViews 都会更新以反映该更改。这正是我想要的。

问题是我收到有关 tableView 正在更新但不可见的警告:

UITableView was told to layout its visible cells and other contents without being in the view hierarchy (the table view or one of its superviews has not been added …
Run Code Online (Sandbox Code Playgroud)

uitableview nsfetchedresultscontroller swift

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

使用preg_match查找列表中的所有单词

在SO的帮助下,我能够从电子邮件主题行中提取"关键字"以用作类别.现在我决定允许每个图像使用多个类别,但似乎无法正确地说出我的问题以获得Google的良好回应.preg_match停在列表中的第一个单词.我确信这与"渴望"或仅仅用|其他东西替换管道符号有关,但我无法看到它.
\b(?:amsterdam|paris|zurich|munich|frankfurt|bulle)\b.

我目前使用的整个字符串是:

preg_match("/\b(?:amsterdam|paris|zurich|munich|frankfurt|bulle)\b/i", "." . $subject . ".", $matches);

我需要做的就是把所有这些话都拿出去,而不是停在阿姆斯特丹,或者在它正在搜索的主题中首先出现的话.在那之后,这只是处理$ matches数组的问题,对吧?

谢谢,马克

php preg-match

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

在什么时候我可以判断用户是否选择不共享他们的位置?

我正在尝试使用PHP和javascript发送lat和lon以及网络摄像头图像和其他一些数据 - 不要问,这只是我开始的一个小项目,希望学到一些东西.为了使lat和lon可用,我必须在检索到lat和lon之后调用网络摄像头功能.这是我正在使用的javascript(地理定位部分来自Lynda.com.我将其与JpegCam结合使用).我添加了lat和lon div来保存值.然后我now_go()使用getElementById()调用获取lat和long 的网络摄像头功能.只要用户共享其位置,这就很有用.如果不这样做,则不会调用now_go()函数.但是,如果我之前更早地调用它,即使用户决定分享他们的位置,也不能使用lat和lon.那么在游戏的哪个阶段,我可以判断用户是否已选择不共享?

 <script type="text/javascript">
    var t = new bwTable();
    var geo;

    function getGeoLocation() {
        try {
            if( !! navigator.geolocation ) return navigator.geolocation;
            else return undefined;
        } catch(e) {
            return undefined;
        }
    }

    function show_coords(position) {
        var lat = position.coords.latitude;
        var lon = position.coords.longitude;
        element('lat').innerHTML = lat;
        element('lon').innerHTML = lon;
        t.updateRow(0, [ lat.toString(), lon.toString() ] );
        dispResults();
        now_go();
    }

    function dispResults() {
        element('results').innerHTML = t.getTableHTML();

    }

    function init() {
        if((geo = getGeoLocation())) {
            statusMessage('Using …
Run Code Online (Sandbox Code Playgroud)

javascript geolocation

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

Javascript For循环中的第一个表达式 - 逗号是什么?

我正在通过一个HTML5拖放示例http://www.sitepoint.com/html5-file-drag-and-drop/,但无法确切地知道在此结束时循环中发生了什么功能-

function FileSelectHandler(e) {

    // cancel event and hover styling
    FileDragHover(e);

    // fetch FileList object
    var files = e.target.files || e.dataTransfer.files;

    // process all File objects
    for (var i = 0, f; f = files[i]; i++) {
        ParseFile(f);
    }

}
Run Code Online (Sandbox Code Playgroud)

据我所知,第一个表达式应该只是i = 0.发生了什么事, f?只要文件数组包含键i​​,我就会递增,f被解析,然后再次查找文件[i],对吧?

javascript loops

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

如果有多个类,如何查找元素的特定类名?

我在页面上有一些DIV.每个都有3个类:grid_#,push_#和pull_#其中#是实际数字.

我需要单独替换每个类,即删除class ='grid_1'并将其替换为class ='grid_14'.

我正在使用选择列表来选择新类.我需要旧类的名称,所以我可以删除它.

通过反复试验,我发现只要一个元素只有一个类,我就可以使用它

var old = document.getElementById('elementId');
var old_class = old.className;
Run Code Online (Sandbox Code Playgroud)

当我尝试从具有多个类的DIV获取类名时,我什么也得不到.不是未定义,不是对象,只是空白.我尝试var old_class = old.className[0];了其他的东西,但这给了我undefined.

当前的计划是使用正则表达式将旧的类名称与可能的类列表相匹配,为我提供一个带有要删除的类名的var.作为javascript的新手,我确信有更好的方法来实现它.任何建议都非常受欢迎.

我刚刚开始这个项目,但你可以在这里找到它,如果它会有所帮助.

谢谢,马克

编辑:更改了问题的标题

javascript jquery

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