小编Nil*_*ne-的帖子

在swift中创建自定义tableview单元格

我有一个带有几个IBOutlets的自定义单元类.我已将该课程添加到故事板中.我连接了所有的插座.我的cellForRowAtIndexPath函数如下所示:

override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
        let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as SwipeableCell

        cell.mainTextLabel.text = self.venueService.mainCategoriesArray()[indexPath.row]

        return cell
    }
Run Code Online (Sandbox Code Playgroud)

这是我的自定义单元类:

class SwipeableCell: UITableViewCell {
    @IBOutlet var option1: UIButton
    @IBOutlet var option2: UIButton
    @IBOutlet var topLayerView : UIView
    @IBOutlet var mainTextLabel : UILabel
    @IBOutlet var categoryIcon : UIImageView

    init(style: UITableViewCellStyle, reuseIdentifier: String!) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)


    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我的所有单元格都是空的.我已经注销self.venueService.mainCategoriesArray(),它包含所有正确的字符串.我也试过把一个实际的字符串等于标签,这会产生相同的结果.

我错过了什么?任何帮助表示赞赏.

cocoa-touch storyboard uitableview swift ios8

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

为什么源文件的名称会影响编译?

当我用C++写一个名为"lotto.cpp"的小乐透程序时,我遇到了一些非常奇怪的东西.一切都很好,直到我为我的程序编写了写入文件.当我编译时,它向我显示以下错误:

ld: can't open output file for writing: lotto, errno=21 for architecture x86_64
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

巧合的是,我将程序的名称改为"1.cpp",突然之间编译没有问题.当我将名称更改为"test.cpp"时,它也有效.

我真的很好奇为什么会这样.有任何想法吗?

这发生在MacBook Pro上.

如果您还想要代码,请告诉我!


我知道有些人要求代码.这里是:

#include <iostream>
#include <fstream>

using namespace std;

const int NED  = 10;            
const int VIKING =  6;
const int NORMAL =  7;
const int MAX  = 10;

void quickSort(int arr[], int left, int right);
int checkDuplicates(int arr[], int length);

int main (int argc, const char *argv[])
{
    int i, j, k, ans;
    char ans2;
    int …
Run Code Online (Sandbox Code Playgroud)

c++ compilation

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

animateWithDuration:动画:完成:在Swift中

在objective-C中,我的动画位看起来像这样:

[UIView animateWithDuration:0.5 animations:^{
            [[[_storedCells lastObject] topLayerView] setFrame:CGRectMake(0, 0, swipeableCell.bounds.size.width, swipeableCell.bounds.size.height)];
        } completion:^(BOOL finished) {
            [_storedCells removeLastObject];
 }];
Run Code Online (Sandbox Code Playgroud)

如果我将其翻译成Swift,它应该看起来像这样:

 UIView.animateWithDuration(0.5, animations: {
                    self.storedCells[1].topLayerView.frame = CGRectMake(0, 0, cell.bounds.size.width, cell.bounds.size.height)
                }, completion: { (finished: Bool) in
                    //self.storedCells.removeAtIndex(1)
            })
Run Code Online (Sandbox Code Playgroud)

它在评论线上抱怨.我收到的错误是:Could not find an overload for 'animateWithDuration' that accepts the supplied arguments

我知道完成闭包需要一个布尔值并返回一个void,但是我应该能够写出一些与bool无关的东西....对吧?

任何帮助表示赞赏.

编辑:这是我如何在函数中声明我正在使用的数组:

var storedCells = SwipeableCell[]()
Run Code Online (Sandbox Code Playgroud)

一个采用SwipeableCell对象的数组.

closures animatewithduration swift ios8

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

在Swift中以编程方式创建一个UITableViewController

正如标题所说,我试图以编程方式设置UITableViewController.经过几个小时的尝试,我希望有人可以帮助我.而且,是的,我已经检查了有关此事的其他帖子:

import UIKit

class MainViewController: UITableViewController {

    init(style: UITableViewStyle) {
        super.init(style: style)
        // Custom initialization
    }

    override func viewDidLoad() {
        super.viewDidLoad()


    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    // #pragma mark - Table view data source

    override func numberOfSectionsInTableView(tableView: UITableView?) -> Int {
        return 1
    }

    override func tableView(tableView: UITableView?, numberOfRowsInSection section: Int) -> Int {
        return 5
    }


    override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? {
        var cell …
Run Code Online (Sandbox Code Playgroud)

uitableview programmatically-created swift ios8

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

计算无方向图中无序对的数量

可以在此处找到问题的链接

问题陈述

汉堡镇是一个由N个特殊路口和N-1路径组成的城市.每对交叉点之间只有一条最短路径.交叉点i位于(xi,yi),并且两个交叉点i,j之间的距离由出租车几何形状定义.

蒂姆最近提供了一辆出租车作为出租车司机.他的车很便宜,但有很大的缺陷.在加油前,它只能水平驱动H单位,垂直V单位.

如果客户想要从交叉口i带到另一个交叉路口j,那么这辆车只能驱动路线,如果水平距离和这条路径上的垂直距离之和小于或等于H,分别为V.

此外,任何两个交叉点之间都有一条独特的路径.

现在他想到将车辆还给卖家.但他首先想知道,如果它甚至值得.这就是为什么他想知道无序对(i,j)的数量,这样就不可能将客户从交叉点i驱动到交叉点j.

约束

2≤N≤10^ 5

0≤H,V≤10^ 14

0≤xi,yi≤10^ 9

我用递归解决了这个问题.但在某些测试用例中,我的代码已超时.

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;

public class Solution {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int N = in.nextInt();
        long H = in.nextLong();
        long V = in.nextLong();
        List<Vertex> vertex = new ArrayList<>();

        for (int i=0; i < N; i++) {
            Vertex vx = new Vertex(in.nextLong(), in.nextLong());
            vertex.add(vx);
        }
        for (int i=0; i < N-1; i++) …
Run Code Online (Sandbox Code Playgroud)

java algorithm optimization timeout

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

我的电脑缺少SDL.dll - VS 2010

我正在尝试编译我编写的SDL程序,但是当我这样做时,会出现此错误:

程序无法启动,因为您的计算机缺少SDL.dll.尝试重新安装该程序以解决此问题

我不知道为什么.我有SDL.dll.

  • 我把它放在正确的文件夹中:C:\Windows\System32.

  • 我对所有SDL标头都有正确的路径,例如.

VS说:

建成功:1

然后,屏幕上弹出上面的错误.

c++ sdl visual-studio-2010

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

使用 groupBy 在 Pandas 中使用 shift 和滚动

df = pd.DataFrame(dict(
    list(
        zip(["A", "B", "C"],
            [np.array(["id %02d" % i for i in range(1, 11)]).repeat(10),
            pd.date_range("2018-01-01", periods=100).strftime("%Y-%m-%d"),
            [i for i in range(10, 110)]])
        )
))

df = df.groupby(["A", "B"]).sum()

df["D"] = df["C"].shift(1).rolling(2).mean()

df
Run Code Online (Sandbox Code Playgroud)

此代码生成以下内容:

在此处输入图片说明

我希望滚动逻辑为每个新 ID 重新开始。现在,ID 02正在使用来自的最后两个值ID 01来计算平均值。

如何做到这一点?

python dataframe pandas pandas-groupby

6
推荐指数
2
解决办法
5412
查看次数

在javascript中创建函数的不同方法

首先 - 是的,我知道有很多关于这个的帖子,或者至少非常相似的帖子.看过那些我还没有找到我正在寻找的答案:

我了解到有两种主要方法可以在javascript中创建函数:

var test = function(a){
   console.log(a);
}
Run Code Online (Sandbox Code Playgroud)

这是在运行时创建的,并且:

function test(a){
    console.log(a);
}
Run Code Online (Sandbox Code Playgroud)

这是在运行时之前创建的.

今天我看到了这个:

(function test(a){
    console.log(a);
})();
Run Code Online (Sandbox Code Playgroud)

我以前从未见过.这个与上面两个有什么区别?

javascript runtime function

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

查找包含较大字符串中给定字母集的最小子字符串

假设您有以下字符串:

FJKAUNOJDCUTCRHBYDLXKEODVBWTYPTSHASQQFCPRMLDXIJMYPVOHBDUGSMBLMVUMMZYHULSUIZIMZTICQORLNTOVKVAMQTKHVRIFMNTSLYGHEHFAHWWATLYAPEXTHEPKJUGDVWUDDPRQLUZMSZOJPSIKAIHLTONYXAULECXXKWFQOIKELWOHRVRUCXIAASKHMWTMAJEWGEESLWRTQKVHRRCDYXNT
LDSUPXMQTQDFAQAPYBGXPOLOCLFQNGNKPKOBHZWHRXAWAWJKMTJSLDLNHMUGVVOPSAMRUJEYUOBPFNEHPZZCLPNZKWMTCXERPZRFKSXVEZTYCXFRHRGEITWHRRYPWSVAYBUHCERJXDCYAVICPTNBGIODLYLMEYLISEYNXNMCDPJJRCTLYNFMJZQNCLAGHUDVLYIGASGXSZYPZKLAWQUDVNTWGFFY
FFSMQWUNUPZRJMTHACFELGHDZEJWFDWVPYOZEVEJKQWHQAHOCIYWGVLPSHFESCGEUCJGYLGDWPIWIDWZZXRUFXERABQJOXZALQOCSAYBRHXQQGUDADYSORTYZQPWGMBLNAQOFODSNXSZFURUNPMZGHTAJUJROIGMRKIZHSFUSKIZJJTLGOEEPBMIXISDHOAIFNFEKKSLEXSJLSGLCYYFEQBKIZZTQQ
XBQZAPXAAIFQEIXELQEZGFEPCKFPGXULLAHXTSRXDEMKFKABUTAABSLNQBNMXNEPODPGAORYJXCHCGKECLJVRBPRLHORREEIZOBSHDSCETTTNFTSMQPQIJBLKNZDMXOTRBNMTKHHCZQQMSLOAXJQKRHDGZVGITHYGVDXRTVBJEAHYBYRYKJAVXPOKHFFMEPHAGFOOPFNKQAUGYLVPWUJUPCUGGIXGR
AMELUTEPYILBIUOCKKUUBJROQFTXMZRLXBAMHSDTEKRRIKZUFNLGTQAEUINMBPYTWXULQNIIRXHHGQDPENXAJNWXULFBNKBRINUMTRBFWBYVNKNKDFR
Run Code Online (Sandbox Code Playgroud)

我正在尝试找到包含字母的最小子字符串ABCDA.

我尝试了一种正则表达式方法.

console.log(str.match(/[A].*?[B].*?[C].*?[D].*?[A]/gm).sort((a, b) => a.length - b.length)[0]);
Run Code Online (Sandbox Code Playgroud)

这有效,但它只能找到ABCDA出现的字符串(按此顺序).这意味着它不会找到子字符串,字母出现在这样的顺序中:BCDAA

我正试图改变我的正则表达式来解释这一点.如果不使用|并输入所有不同的案例,我该怎么做?

javascript regex string substring

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

阻止favicon.ico发出第二个请求 - Node.js

我试图阻止favicon.ico表单在套接字连接时发出第二个请求.

这是我的服务器:

var io = require('socket.io'),
connect = require('connect');

var app = connect()
.use(connect.static('public'))
.use(function(req, res, next){
    if (req.url === '/favicon.ico') {
        res.writeHead(200, {'Content-Type': 'image/x-icon'} );
        next();
    }
})
.use(function(req, res){
    res.end('stupid favicon...');   
}).listen(3000);

var game = io.listen(app);

game.sockets.on('connection', function(socket){
    socket.emit('entrance', {message: 'Welcome to the game!'});

    socket.on('disconnect', function(){
        game.sockets.emit('exit', {message: 'A player left the game...!'});
    });
    game.sockets.emit('entrance', {message: 'Another gamer is online!'});
});
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.我没有错误,但是当一个套接字连接时,从客户端加载了两个图像,这使得看起来仍然有两个请求发生.

那么我的代码完全错了,还是我走在正确的轨道上?因为不管console.log()我的服务器代码是什么,所以没有任何内容打印到控制台.

编辑:客户端

var socket = io.connect('http://localhost:3000');

    socket.on('entrance', function(data){
        console.log(data.message);

        var num = …
Run Code Online (Sandbox Code Playgroud)

javascript connect node.js socket.io

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