小编JoB*_*324的帖子

我可以在Objective-C switch语句中声明变量吗?

我想我会失明,因为我无法弄清楚此代码中语法错误的位置:

if( cell == nil ) {
    titledCell = [ [ [ TitledCell alloc ] initWithFrame:CGRectZero
        reuseIdentifier:CellIdentifier ] autorelease
    ];

    switch( cellNumber ) {
        case 1:
            NSString *viewDataKey = @"Name";
etc...
Run Code Online (Sandbox Code Playgroud)

当我尝试编译它时,我在最后一行的'*'标记之前收到错误:语法错误.

对不起这个基本问题,但我错过了什么?

objective-c switch-statement

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

传递一个类作为参数?

我一直认为可以将类作为方法参数传递,但是我在实现这个概念时遇到了麻烦.现在我有类似的东西:

- (id)navControllerFromView:(Class *)viewControllerClass
                          title:(NSString *)title
                      imageName:(NSString *)imageName
{
    viewControllerClass *viewController = [[viewControllerClass alloc] init];
    UINavigationController *thisNavController =
    [[UINavigationController alloc] initWithRootViewController: viewController];

    thisNavController.tabBarItem = [[UITabBarItem alloc]
                                  initWithTitle: title
                                          image: [UIImage imageNamed: imageName]
                                            tag: 3];
    return thisNavController;
}
Run Code Online (Sandbox Code Playgroud)

我称之为:

rootNavController = [ self navControllerFromView:RootViewController
    title:@"Contact"
    imageName:@"my_info.png"
];
Run Code Online (Sandbox Code Playgroud)

这张照片出了什么问题?

iphone cocoa objective-c

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

isEqual并不总是适用于NSIndexPath?我可以用它来代替什么?

我有一些代码依赖于比较两个NSIndexPaths并根据它们的相等或缺乏来执行不同的代码(使用-isEqual).大部分时间它都能正常工作,但有时则不然.我已经使用调试器控制台在代码执行期间测试两个索引路径,它们看起来与我相同.

这是代码:

- (BOOL)selectedStreetIsSameAsLastSelectedStreet
{
    return [self.indexPathOfSelectedStreet isEqual:self.previousObject.indexPathOfSelectedStreet];
}
Run Code Online (Sandbox Code Playgroud)

这是执行代码期间的输出:

(gdb) po self.indexPathOfSelectedStreet
<NSIndexPath 0x60a0770> 2 indexes [26, 1]
(gdb) po self.previousObject.indexPathOfSelectedStreet
<NSIndexPath 0x55b4f70> 2 indexes [26, 1]
(gdb) p (BOOL)[self.indexPathOfSelectedStreet isEqual:self.previousObject.indexPathOfSelectedStreet]
$2 = 0 '\000'
Run Code Online (Sandbox Code Playgroud)

我做错了什么,还是有另一种方法可以可靠地测试两个NSIndexPaths的相等性?

equality objective-c nsindexpath iphone-sdk-3.2

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

温斯顿并不适合打印机

我正试图让Winston打印到控制台,所以我把它放在一个文件中并用节点运行它:

var winston = require('winston');
winston.cli();
winston.data({
  a: "test",
  of: "many",
  properties: {
    like: "this"
  }
});
winston.data('data', {
  a: "test",
  of: "many",
  properties: {
    like: "this"
  }
});
Run Code Online (Sandbox Code Playgroud)

终端吐出以下(不完全相同)的消息:

data:     a=test, of=many, like=this
data:    data a=test, of=many, like=this
Run Code Online (Sandbox Code Playgroud)

我按照Winston自述文件中的说明("在CLI工具中使用winston").我误读了什么吗?在某个地方错过了设置?

node.js winston

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

Docker RUN命令:何时分组命令,何时不?

我已经看到了RUN在a 中使用命令的两种不同方法Dockerfile,我将其命名为v1和v2.

V1

每行一个命令

FROM ubuntu/latest
ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update
RUN apt-get -y install php5-dev
RUN libcurl4-openssl-dev
...
Run Code Online (Sandbox Code Playgroud)

V2

每行多个命令

FROM ubuntu/latest
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && \
    apt-get -y install \
        php5-dev \
        libcurl4-openssl-dev
...
Run Code Online (Sandbox Code Playgroud)

这两种方法都有其优点,使用缓存的不同方法最为明显.还有什么其他原因可以使用一种方法而不是另一种方法?

NB如果这个问题被认为过于模糊或对意见持开放态度,我会向社区的意愿屈服; 但是,我在这里发布它是因为我希望有很好的情况来分组命令,而不是好的情况 - 我想知道它们是什么.

docker

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

确定从文件加载的NSData的MIME类型

出于各种原因,我使用NSURLProtocol拦截http请求并从我的应用程序文档目录中的文件加载内容.部分过程涉及加载NSData对象,该对象可以是从html文件到jpeg图像的任何内容.NSURLProtocol需要设置mimetype.

iPhone-SDK中是否有API来确定文件或NSData内容的mimetype?

iphone objective-c nsdata mime-types

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

使用Javascript时的Mongoose和Query Injection?

MongoDB如何解决SQL或Query注入问题?解释了在服务器上使用javascript时如何使用BSON处理查询注入.我无法追踪Mongoose如何处理查询注入.

此时我有两个问题:

  1. Mongoose是否可以防止查询注入(使用BSON或其他方法)
  2. 如果确实如此,那么开发人员需要了解它的实现是否有任何怪癖?

javascript code-injection mongoose mongodb node.js

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

indentationLevel属性似乎没有做任何事情?

我使用-insertRowsAtIndexPaths:withRowAnimation将一些行插入到表中,我希望从左侧缩进行以将它们与其余单元格区分开来.UITableViewCell的indentationLevel属性看起来就像我需要的那样,但似乎没有做任何事情.这是我用来设置缩进级别的代码(点语法没有区别):

[cell setIndentationWidth:10];
[cell setIndentationLevel:1];
Run Code Online (Sandbox Code Playgroud)

缩进级别是我想要的,还是我应该在其他地方寻找?

iphone objective-c

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

如何在 SELECT 语句中使用查询结果作为列名

我的最终目标是在 MySQL 中创建一个数据透视表视图,其中包含基于另一个表内容的动态列。目前,我正在尝试从artfulsoftware停止的地方继续;现在我可以查询给出我想要的列名称的结果。不幸的是,我不知道如何实际使用结果作为 SELECT 语句中的列名。我怀疑 MySQL 变量会有帮助,但我不明白。

为了澄清问题,假设我有一张表,如下所示:

+---------------------------------------------------+
| countpivotarg                                     |
+---------------------------------------------------+
| ,SUM(IF(domain = "test.com",1,0)) AS `test.com`   |
| ,SUM(IF(domain = "test2.com",1,0)) AS `test2.com` |
+---------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

我想创建一个如下所示的选择语句:

SELECT id,
       meta_id,
       SUM(IF(domain = "test.com",1,0)) AS `test.com`,
       SUM(IF(domain = "test2.com",1,0)) AS `test2.com`
FROM   myTable;
Run Code Online (Sandbox Code Playgroud)

我该如何去做呢?

mysql sql

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

Python,非阻塞线程

关于Python和异步编码技术有很多教程等,但是我很难过滤直通结果来找到我需要的东西.我是Python的新手,所以这没有帮助.

建立

我目前有两个看起来像这样的对象(请原谅我的python格式):

class Alphabet(parent):
    def init(self, item):
        self.item = item

    def style_alphabet(callback):
        # this method presumably takes a very long time, and fills out some properties
        # of the Alphabet object
        callback()


class myobj(another_parent):
    def init(self):
        self.alphabets = []
        refresh()

    def foo(self):
        for item in ['a', 'b', 'c']:
            letters = new Alphabet(item)
            self.alphabets.append(letters)
        self.screen_refresh()

        for item in self.alphabets
            # this is the code that I want to run asynchronously. Typically, my efforts
            # all involve passing item.style_alphabet to the …
Run Code Online (Sandbox Code Playgroud)

python asynchronous python-2.7

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