小编JoB*_*324的帖子

暂停代码执行,直到按下UIAlertView按钮?

我的一个方法向对象发送一条消息(你对此有何了解),并希望得到一个BOOL答案.但是,BOOL回答它的期望是基于在接收对象的方法中创建的UIAlertView的答案.但是,代码在等待用户回答UIAlertView时不会暂停.我的问题是:如何在方法的返回值中使用-alertView:clickedButtonAtIndex?

这是消息运行的代码(在这种结构中,我期望navigateAwayFromTab根据UIAlertView中的用户输入进行更改,但它永远不会有机会):

- (BOOL)readyToNavigateAwayFromTab {
    NSLog( @"message received by Medical View");
    navigateAwayFromTab = NO;
    UIAlertView *alert = [[UIAlertView alloc]
           initWithTitle:@"Navigate Away From Tab?"
                 message:@"Navigating away from this tab will save your work."
                delegate:self
       cancelButtonTitle:@"Cancel"
       otherButtonTitles:@"OK", nil
    ];
    [alert show];
    [alert release];
    return navigateAwayFromTab;
}
#define CANCEL 0
#define OK 1
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if( buttonIndex == OK ) navigateAwayFromTab = YES;
}
Run Code Online (Sandbox Code Playgroud)

我一直在阅读模态UIAlertView辩论,我同意苹果的实现 - 至少作为规则.但是,在这种情况下,我没有看到通过将代码放在-alertView:clickedButtonAtIndex中解决问题的任何方法,因为我不需要运行基于UIAlertView的代码,我只需要阅读响应.关于如何达到我的监狱的任何建议?我已经在[alert show]之后尝试了一段时间循环,但随后警报甚至没有显示,并且出于多种原因我无法使用-viewWillDisapear.

编辑

对于那些在现代ios时代观看这个问题的人来说,这个问题与ios 2有关

iphone ios

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

如何将命令的输出视为文件?

whiptail命令有一个选项--textbox,其描述如下:

--textbox <file> <height> <width>
Run Code Online (Sandbox Code Playgroud)

第一个选项需要一个文件作为输入;我想在其位置使用命令的输出。看来这在 bash 中应该是可能的 - 可能通过重定向?ls -l为了这个问题,假设我想在鞭尾文本框中查看输出。

更新

看起来标记的答案确实回答了我问的问题,但不是关于鞭尾。例如,cat <(ls -l)作品。因此,我会将问题标记为已回答,即使鞭尾的具体示例不适用于流程替换。

bash sh

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

在Docker容器中静默安装pecl模块(例如pecl_http)?

我正在尝试在Docker容器中安装pecl_http。目前我的Dockerfile看起来像这样:

FROM fun:5000/apache-php:0.1.0

# Install dependencies
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && \
    apt-get -y install \
        php5-dev \
        libcurl4-openssl-dev && \

    yes "\n" | pecl install pecl_http-1.7.6 && \
    echo "extension=http.so" > /etc/php5/mods-available/http.ini && \
    cd /etc/php5/apache2/conf.d/ && \
    ln -s ../../mods-available/http.ini 20-http.ini && \
    ...
Run Code Online (Sandbox Code Playgroud)

最初,我只是pecl install pecl_http-1.7.6在docker文件中使用,并且容器已成功构建-没有安装pecl_http。

如果我连接到容器,pecl install pecl_http-1.7.6只需在每个提示后按回车,就可以使用交互式安装pecl_http 。我刚刚了解到yes,它似乎很适合我的需求。在线搜索表明,许多人已经使用它来执行无人值守的pecl安装,包括pecl_http。但是,当我尝试在docker容器中使用它时,它会失败configure: error: could not find magic.h

如何在Docker中执行无提示pecl_http安装?

pecl silent-installer docker

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

如何在NSString对象的objective-c中分配一个类?

我有一个PHP背景,但我开始学习Objective-C,以便我可以为iPhone开发应用程序.到目前为止事情进展顺利,但我有一个问题,在google搜索并挖掘了许多不同的论坛之后,我还无法找到并回答这个问题.

我的应用程序必须创建一些视图,每个视图都有自己的uinque标题栏.为了做到这一点,我的代码对于每个视图看起来都是这样的:

    xViewController = [ [ XViewController alloc ] init ];
    xNavController = [ [ UINavigationController alloc ]
        initWithRootViewController: xViewController
    ];
    xNavController.tabBarItem = [ [ UITabBarItem alloc ]
        initWithTitle: @"My Info"
        image: [ UIImage imageNamed: @"my_info.png" ]
        tag: 3
    ];  
Run Code Online (Sandbox Code Playgroud)

这样做,但我想要做的是创建一个方法,当一个字符串作为消息发送时将返回一个导航控制器,所以我不必为每个视图做所有这些.我遇到的问题是第一行需要根据作为字符串传递给它的类名来分配一个对象(即XViewController需要从传递给该方法的字符串中获取),但我不知道如何将字符串视为类名.我知道这是可能的,因为UIApplicationMain()可以使用字符串来调用app delegate类.我该怎么做?

我很抱歉,如果这一点没有意义,我还处于学习新语言的早期阶段!

iphone cocoa objective-c

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

需要帮助在Doctrine 2 xml Mapping File中查找错误

我是Doctrine 2的新手,所以我使用docs.doctrine-project.org上的文档作为模板让我入门.我已经生成了我需要的所有文件(我想),现在我正在尝试运行该命令

doctrine orm:schema-tool:create
Run Code Online (Sandbox Code Playgroud)

但是学说正在吐痰

[Doctrine\ORM\Mapping\MappingException]                                                          
Invalid mapping file 'QueryRequest.dcm.xml' for class 'QueryRequest'.
Run Code Online (Sandbox Code Playgroud)

这是我的QueryRequest.dcm.xml(我特别依赖这些文档中的一个学说示例来生成文件):

<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
                      http://raw.github.com/doctrine/doctrine2/master/doctrine-mapping.xsd">

    <entity name="RequestMetadata" table="request_metadata">
        <id name="id" type="bigint">
            <generator strategy="AUTO" />
        </id>

        <field name="snapshot" column="snapshot" type="smallint" nullable="true" />
        <field name="custID" column="cust_id" type="string" length="8" />
        <field name="ipAddress" column="ip_addr" type="string" length="15" />
        <field name="query" column="query" type="string" length="500" />
        <field name="createdOn" column="created_on" type="datetime" />

        <one-to-many field="httpRequestResponses" target-entity="HttpRequestResponse" mapped-by="queryRequest">
            <cascade>
                <cascade-persist />
            </cascade>
            <order-by>
                <order-by-field name="createdOn" direction="DESC" /> …
Run Code Online (Sandbox Code Playgroud)

php xml doctrine-orm

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

为什么要以环形方式初始化将成为属性的对象?

有三个方面可以做到的原因是什么?

以下是developer.apple.com的一些代码:

UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];

self.navigationController = aNavigationController;

[aNavigationController release];
Run Code Online (Sandbox Code Playgroud)

......在同一行中同样的事情:

self.navigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
Run Code Online (Sandbox Code Playgroud)

它似乎干净,简单,直截了当.我以前遇到过一个没有被保留的属性的麻烦,导致[对象释放]在不应该的时候销毁对象(据我所知 - 保留属性已经设置).使用单行公式就像花花公子一样.

iphone objective-c

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

将现有的xcdatamodeld"文件夹"添加到XCode

有谁知道如何将现有的xcdatamodeld文件夹添加到XCode项目?xcdatamodeld实际上是一个文件夹,即使操作系统将其识别为文件,就像[namehere] .app文件夹一样.当我尝试将xcdatamodeld添加到XCode中时,我得到的是一个文件夹组,其名称为xcdatamodeld文件夹; 它应该看起来应该(它使用特殊的xcdatamodeld图标而不是文件夹图标),但是当我单击名称旁边的向下箭头时,文件夹中没有任何文件夹内容.由于操作系统将scdatamodeld识别为文件,因此我无法手动将文件夹内容添加到XCode中.

有什么建议?我试过谷歌没有运气.

xcode core-data

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

如何附加到C数组的末尾

我已经在objective-c中编程了一段时间,但遗憾的是我从未深入研究过C和内存指针,尽管我对它们有一些基本的了解.我正在使用一系列CLLocationCoordinate2D结构,我正在试图找出如何附加到数组.首先,我得到了

NSString *aString; //a bunch of coordinates
CLLocationCoordinate2d *coordinates;
int length;

doSomethingCool(aString, &coordinates, &length);
Run Code Online (Sandbox Code Playgroud)

在我做了一些很酷的事情之后,我想把它保存在一个类变量中.如果我只是做类似的事情

points = newPoints
Run Code Online (Sandbox Code Playgroud)

points包含适当的内容.但是,如果我尝试做这样的事情:

points = malloc(sizeof(CLLocationCoordinate2D) * length);
points[0] = *newPoints;
Run Code Online (Sandbox Code Playgroud)

与来自不同内容结束newPoints.

最终,我的目标是能够追加到根据长度,但我不会是能够做到这一点,如果我不能得到上面的代码工作.我究竟做错了什么?

c arrays pointers objective-c

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

标签 统计

iphone ×3

objective-c ×3

arrays ×1

bash ×1

c ×1

cocoa ×1

core-data ×1

docker ×1

doctrine-orm ×1

ios ×1

pecl ×1

php ×1

pointers ×1

sh ×1

silent-installer ×1

xcode ×1

xml ×1