小编Gui*_*ume的帖子

UITableview - tableView:didDeselectRowAtIndexPath:方法无法正常工作?

在我的应用程序中,我正在使用UITableview.在那个委托方法中,如果我做了任何操作,那么就不会发生.

例如,我在tableview中有3行

如果我选择1行(indexPath.row == 0)则不会发生任何事情

如果再次选择2行(indexPath.row == 1),现在它是登录控制台indexPath.row == 0这是以前的值.

如果再次选择1行,则记录其前一个值indexPath.row = 1.

为什么会这样.

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{

       CustomerInfoViewController *customer = [[EquipmentViewController alloc]initWithNibName:@"CustomerInfoViewController" bundle:nil];

    EquipmentViewController *equpment = [[EquipmentViewController alloc]initWithNibName:@"EquipmentViewController" bundle:nil];

    ContactsViewController *contacts = [[ContactsViewController alloc]initWithNibName:@"ContactsViewController" bundle:nil];

    if(indexPath.row == 0)
    {

        NSLog(@"one %d",indexPath.row);
        [detailsView addSubview:customer.view];
    }

    if(indexPath.row == 1)
    {

         NSLog(@"two %d",indexPath.row);
        [detailsView addSubview:equpment.view];
    }

    if(indexPath.row == 2)
    {

         NSLog(@"three%d",indexPath.row);
        [detailsView addSubview:contacts.view];
    }
}
Run Code Online (Sandbox Code Playgroud)

请有人帮帮我.

提前致谢.

iphone uitableview

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

在游戏过程中禁用iOS多任务手势识别器

我正在开发一个游戏,用户可以使用最多5个手指,每条线1个手指进行绘制.

当启用多任务手势并且用户尝试从右到左使用4个以上的手指进行绘制时,iPad上的iOS手势识别器会切换到另一个应用程序.

当用户进入我的应用程序时,如何以编程方式禁用此识别器?

xcode ipad ios

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

在丰富的UITextView(iOS 6)中使用NSUndoManager撤消操作

我想要更改丰富的UITextView(iOS 6)的部分或全部属性文本,并允许用户撤消更改.

在阅读NSUndoManager文档后,我尝试了第一种方式:

“Simple undo” based on a simple selector with a single object argument.
Run Code Online (Sandbox Code Playgroud)

我期望撤消操作就像这样简单:
声明这个方法:

- (void)setAttributedStringToTextView:(NSAttributedString *)newAttributedString {

     NSAttributedString *currentAttributedString = self.textView.attributedText;

    if (! [currentAttributedString isEqualToAttributedString:newAttributedString]) {
         [self.textView.undoManager registerUndoWithTarget:self
                                    selector:@selector(setAttributedStringToTextView:)
                                      object:currentAttributedString];
         [self.textView.undoManager setActionName:@"Attributed string change"];
         [self.textView setAttributedText:newAttributedString];
    }
}
Run Code Online (Sandbox Code Playgroud)

通过调用以下命令更改我的UITextView中的文本:

[self setAttributedStringToTextView:mutableAttributedString];
Run Code Online (Sandbox Code Playgroud)

但在这之后,NSUndoManager表示它无法撤消.

NSLog(@"Can undo: %d", [self.textView.undoManager canUndo]);
// Prints: "Can undo: 0"
Run Code Online (Sandbox Code Playgroud)




所以我尝试了第二种方式:

“Invocation-based undo” which uses an NSInvocation object.
Run Code Online (Sandbox Code Playgroud)

声明:

- (void)setMyTextViewAttributedString:(NSAttributedString *)newAttributedString {

        NSAttributedString *currentAttributedString = [self.textView attributedText];
    if (! [currentAttributedString isEqualToAttributedString:newAttributedString]) …
Run Code Online (Sandbox Code Playgroud)

uitextview nsattributedstring nsundomanager uitextinput ios6

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

在Heroku上托管的Rails 3应用程序中将Word文件(.doc | .docx)转换为PDF

在你把它作为傻瓜关闭之前:我已经阅读了很多关于SO的问题,并且没有一个符合我的所有要求.



我正在寻找将Word文件(.doc.docx)转换为pdf的解决方案.

环境是一个Rails 3应用程序,托管在heroku上.
解决方案必须可在那里部署.

这些文件很敏感,所以我不能使用第三方服务.

如果可能的话,我更喜欢真正的转换,而不是逐页转换为图片.

我已经看到了一些项目(例如改变宗教信仰),但是必须安装libreoffice.我怀疑在heroku上这是可能的,但我希望被证明是错的.


我可能会为月亮而哭泣,所以......

如果没有符合要求的解决方案,那么可以想象创造性的解决方案.
例如,在某个实例中运行的java转换器,处理.doc上传到Amazon S3的文件.

然而,为了建筑简洁,可维护性和我自己的理智,我宁愿远离那个.

ruby-on-rails converter heroku

5
推荐指数
0
解决办法
1380
查看次数

用于签署iPhone应用程序的供应配置文件的名称?

我编写了一个脚本,用于xcodebuild生成iPhone应用程序的AdHoc版本.

我想编辑此脚本以输出用于签署构建的Provisioning Profile的名称.
这将允许我在自动生成的zip中包含Provisioning Profile.这样,我就可以自动将存档发送给AdHoc测试人员,并确保他们拥有正确的配置文件来安装应用程序.

有没有办法提取用于签署应用程序的供应配置文件名称或文件:

  • 来自建立和签署的应用程序
  • 来自Xcode项目(我不想手动解析project.pbxproj文件,因为此解决方案可能在下一个Xcode更新中中断)
  • 任何其他可编写脚本的方式

Unforgiven 建议使用该命令security获取用于签署应用程序的证书的名称.获得此信息后,有没有办法找到供应配置文件的名称?


这是我尝试过的:

遗憾的是,构建期间xcodebuild的输出不包含此信息.在CodeSign步骤中,有一行:

/usr/bin/codesign -f -s "iPhone Distribution: My name" ...

但我无法将其与证书相匹配.

我研究了使用codesign和命令

/usr/bin/codesign -d -vvv --entitlements - -r - /Users/lv/Desktop/TicTacBoo.app/TicTacBoo
看起来很有希望,但它没有给我我需要的信息.
我还没有在xcodebuild中找到任何有用的选项.

iphone build-automation xcode provisioning codesign

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

基本问题是Objective-C属性语法

关于Objective C中属性的语法和用法,我有几个基本问​​题:

假设标题中包含以下声明:

@interface TestObject : NSObject {

    NSArray *myArray;
}

@property (nonatomic, retain) NSArray *myArray;
Run Code Online (Sandbox Code Playgroud)

在实施中,我可以:

  1. 项目清单
  2. 使用myArrayself.myArray互换用于设置和获取目的?
  3. self.myArray = nil相当于[myArray release]
    如果是这样,是否有理由使用self.myArray = nil而不是[myArray release]

cocoa cocoa-touch objective-c

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

使用[NSThread detachNewThreadSelector:toTarget:withObject:]时如何设置自动释放池

嗨,我正在使用[NSThread detachNewThreadSelector:toTarget:withObject:]而且我收到了很多内存泄漏,因为我没有为分离的线程设置自动释放池.我只是想知道我在哪里这么做?是在我打电话之前

[NSThread detachNewThreadSelector:toTarget:withObject:]
Run Code Online (Sandbox Code Playgroud)

或者在另一个线程中运行的方法?

任何帮助将不胜感激,一些示例代码将是伟大的.

谢谢.

iphone multithreading ios

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

如何在iPhone设备上的Organizer上显示iPhone模拟器的控制台?

iPhone设备控制台显示在管理器窗口中(shift + command + 2),但不显示iPhone模拟器.我想在Organizer窗口看到控制台,(不是Xcode控制台[shift + command + y]).

如何在组织者的iPhone设备上显示iPhone模拟器的控制台?

iphone xcode logging ios ios-simulator

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

AppDelegate的两个实例,如何解决?

我刚注意到我的iPhone/iPad应用程序中存在一个相当严重的错误:我有一个叫做AppDelegate实现UIApplicationDelegate协议的类- 就像每个iPhone应用程序一样.我正在使用Core Data,并AppDelegate设置我的托管对象上下文(我大多只是保留了Xcode模板的默认方法).

现在我需要在我的应用程序中的几个地方使用托管对象上下文,我还想-saveContext从几个地方调用该方法.所以我使用了单例模式并添加了一个类方法+ (AppDelegate *)sharedAppDelegate,它实现如下:

+ (AppDelegate *)sharedAppDelegate
{
    static dispatch_once_t pred = 0;
    __strong static id _sharedObject = nil;
    dispatch_once(&pred,^{
        _sharedObject = [[self alloc] init];
    });
    return _sharedObject;
}
Run Code Online (Sandbox Code Playgroud)

到目前为止一切正常.但是现在,我试图访问sharedAppDelegateUIWindow属性,发现它nil.起初我很困惑,但后来我意识到,首先我的main方法创建了一个实例AppDelegate,它创建了UIWindow视图控制器-application:didFinishLaunchingWithOptions:,然后-sharedAppDelegate创建另一个!我发现很奇怪我的应用程序到目前为止似乎工作得很好,因为例如只有第一个实例-saveContext在应用程序存在时调用.

无论如何,我想改变它,以便该main方法也使用sharedAppDelegate.这是否意味着我需要覆盖该-init方法?如何防止无限循环(-sharedAppDelegate毕竟还是calles init)?我应该制作_sharedObject全球范围的变量吗?

iphone singleton core-data objective-c

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

谷歌饼图:如何去除切片之间的白线?

类似于这个问题,但对于谷歌饼图:

如何删除 Google 饼图上切片之间的白线:

在此处输入图片说明

在上图中,我想删除绿色箭头突出显示的空白区域。

javascript charts google-visualization pie-chart

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