小编iha*_*ter的帖子

将isKindOfClass与Swift一起使用

我想尝试一下Swift lang,我想知道如何将以下Objective-C转换为Swift:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesBegan:touches withEvent:event];

    UITouch *touch = [touches anyObject];

    if ([touch.view isKindOfClass: UIPickerView.class]) {
      //your touch was in a uipickerview ... do whatever you have to do
    }
}
Run Code Online (Sandbox Code Playgroud)

更具体地说,我需要知道如何isKindOfClass在新语法中使用.

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {

    ???

    if ??? {
        // your touch was in a uipickerview ...

    }
}
Run Code Online (Sandbox Code Playgroud)

reflection introspection ios swift

225
推荐指数
3
解决办法
11万
查看次数

Haskell可以用来编写shell脚本吗?

是否有可能在Haskell中编写shell脚本,如果是这样,你是如何做到的?只是改变翻译就好吗?

#!/bin/ghci
Run Code Online (Sandbox Code Playgroud)

unix linux shell haskell

24
推荐指数
4
解决办法
3505
查看次数

如何从UIWebView获取html内容?

我正在使用UIWebView加载网页

let urlStr = "http://duckduckgo.com"
let urlReq = NSMutableURLRequest(URL: NSURL(string: urlStr)!)
webView.loadRequest(urlReq)
Run Code Online (Sandbox Code Playgroud)

然后,当页面加载完毕后,我想访问html内容

func webViewDidFinishLoad(webView: UIWebView) {
    let href = webView.stringByEvaluatingJavaScriptFromString("window.location.href")
    println("window.location.href  = \(href)")

    let doc = webView.stringByEvaluatingJavaScriptFromString("document")
    println("document = \(doc)")
}
Run Code Online (Sandbox Code Playgroud)

但是文档只返回一个空字符串(Optional("")).该window.location.href部分工作正常.我做错了什么?

uiwebview ios swift

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

如何让cgdb显示汇编代码?

我找不到cgdb反汇编二进制文件的方法,并在代码窗口中显示当前指令的汇编代码.这是可能的,我应该使用什么命令?我正在使用Mac OS X并从自制软件库获取cgdb.

macos assembly gdb disassembly cgdb

7
推荐指数
2
解决办法
2498
查看次数

Objective-c TCP/IP客户端

我在一台机器上运行了一个TCP服务器.(用Java实现).我需要从iPhone连接到该服务器并将数据发送到服务器,并在服务器推送数据时在iphone上接收数据.因此,当数据从服务器推送时,我需要得到通知.

有没有办法在Objective C(套接字编程)中执行此操作.虽然我用Google搜索,但我找不到解决方案.但我看到了CFSocket等.请有人有解决方案吗?

iphone objective-c ipad

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

这个c代码行做了什么?(const VAR ="string";)

偶然发现这行c代码,但不确定它是否有效.它有什么作用?变量的类型是什么?

const VARNAME = "String of text";
Run Code Online (Sandbox Code Playgroud)

c string variables

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

如何确定联合中使用的类型?

如果有多种可能的选择,是否可以确定联合包含哪种类型?

typedef union
{
    char     charArr[SIZE];
    int      intVal;
    float    floatVal;
} VALUE_TYPE;

VALUE_TYPE number;
number.intVal = 8;
Run Code Online (Sandbox Code Playgroud)

如果值是从其他地方设置的,如何知道联合包含的内容?

c types unions

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

Javascript/Google Apps脚本中的二维数组长度

我在Google应用脚本中有一个二维数组

data = [[1, 2], [3, 4]];
Run Code Online (Sandbox Code Playgroud)

试图获取数据长度返回"未定义".这是为什么?

Logger.log(data.length) // Outputs "Undefined"
Run Code Online (Sandbox Code Playgroud)

更新(完整代码):

data = sheet.getSheetValues(1, 1, 10, 2);
Logger.log("readSpreadSheet");
Logger.log(data);
Logger.log(data.lenght);
Run Code Online (Sandbox Code Playgroud)

日志:

[14-02-10 15:05:05:592 CET] readSpreadSheet
[14-02-10 15:05:05:592 CET] [[tt0062622, 10.0], [tt0066921, 10.0], [tt0094721, 8.0], [tt0445934, 10.0], [tt0784972, 7.0], [tt1136608, 1.0], [tt0119116, 10.0],     [tt1195478, 7.0], [tt2234155, 1.0], [tt1675434, 9.0]]
[14-02-10 15:05:05:592 CET] undefined
Run Code Online (Sandbox Code Playgroud)

javascript google-apps-script

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

与Haskell交互使用串口

我想通过串口使用Haskell的交互模式乐高NXT发送消息,但我无法弄清楚如何使用的SerialPort正常功能.

我有一条消息,应该在类型的NXT上播放音调 ByteString

> let message = pack ([6, 0 ,0, 3, 224, 1, 208, 7]::[Word8])
Run Code Online (Sandbox Code Playgroud)

我可以使用打开串口openSerial.

openSerial :: FilePath -> SerialPortSettings -> IO SerialPort
> let mybrick = openSerial "/dev/tty.NXT-DevB" defaultSerialSettings
Run Code Online (Sandbox Code Playgroud)

但后来我卡住了.我该如何使用该send功能?

send :: SerialPort -> B.ByteString -> IO Int
> send mybrick message
Run Code Online (Sandbox Code Playgroud)

这给我以下错误信息.

<interactive>:31:6:
    Couldn't match expected type `SerialPort'
                with actual type `IO SerialPort'
    In the first argument of `send', namely `mybrick'
    In the expression: send mybrick message
    In an equation …
Run Code Online (Sandbox Code Playgroud)

haskell serial-port nxt

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

声明在同一文件中时,枚举中的未声明类型

我试图做一个简单的数据类型存储的视频或图像+声音,但我得到的枚举编译错误"未申报类型的使用" MovieItemImageItem.怎么了?

struct MovieItem {
    let movieUrl: NSURL
}

struct ImageItem {
    let imageUrl: NSURL // UIImage?
    let soundUrl: NSURL
}

enum Item {
    case MovieItem(MovieItem) // Undeclared type: MovieItem
    case ImageItem(ImageItem) // Undeclared type: ImageItem
}
Run Code Online (Sandbox Code Playgroud)

xcode ios swift

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

初始化禁止复制的成员类

我有一个成员变量,它是一个禁止复制的类(删除了复制赋值运算符)。我想进行一些检查以确定将成员初始化为什么,因此我需要在构造函数中而不是在初始化列表中执行此操作。在进入 MyClass 的构造函数之前,成员变量 m 似乎已经用默认构造函数进行了初始化,那么构造函数的意义何在……对不起,c++ 咆哮。

简单的例子:

class MyClass {
    NonCopy m;
    MyClass() {
        // Complex checks
        if(success) {
            m("success");
        else {
            m("failure");
        }

    }
Run Code Online (Sandbox Code Playgroud)

我看到的选项是:

  • 驻留在m的动态分配
  • 放宽复印禁止要求

c++ constructor

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

调查线程堆栈溢出

我在运行多线程嵌入式应用程序时遇到分段错误。GDB 提示我堆栈可能已损坏,这让我相信堆栈对于有问题的线程来说太小了。增加堆栈大小似乎消除了这个问题,但我想进一步确认一下。我在这里有哪些选择?是否可以在发生段错误时找出当前堆栈大小?

linux embedded gdb preempt-rt

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

我怎么知道我的lua脚本在Wireshark中运行?

我准备在Lua为Wireshark编写一个解剖器,但是想先测试一个简单的hello world.但是怎么知道它在运行?我可以在某处看到调试打印吗?这是脚本:

-- hello.lua
print("Hello World!")
Run Code Online (Sandbox Code Playgroud)

我在Windows上运行Wireshark 0.99.7.

lua wireshark

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