小编Mik*_*e S的帖子

iphone ios在单独的线程中运行

在单独的线程上运行代码的最佳方法是什么?是吗:

[NSThread detachNewThreadSelector: @selector(doStuff) toTarget:self withObject:NULL];
Run Code Online (Sandbox Code Playgroud)

要么:

    NSOperationQueue *queue = [NSOperationQueue new];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
                                                                        selector:@selector(doStuff:)
                                                                          object:nil;
[queue addOperation:operation];
[operation release];
[queue release];
Run Code Online (Sandbox Code Playgroud)

我一直在做第二种方式,但我读过的Wesley Cookbook使用的是第一种方式.

iphone multithreading thread-safety ios

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

如何使用具有自动引用计数的委托

我加入了ARC的行列.在过去,我会将我的委托属性声明为:

@property(assign) id<MyProtocol> delegate;
Run Code Online (Sandbox Code Playgroud)

所以我想我会在ARC下做到这一点:

@property(weak) id<MyProtocol> delegate;
Run Code Online (Sandbox Code Playgroud)

不是这样.在.m中的@synthesize语句我有一个编译错误:

*语义问题:__ weak属性'委托'的现有ivar'委托'必须是__weak*

我已经声明它虽然很弱!另外,我如何将实现协议的类传递给弱引用的属性.我是否必须将其包装在其中一个奇怪的obj_unretained调用中?

任何有关这方面的帮助将非常感谢.

iphone ios ios5 automatic-ref-counting

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

为什么Core Data托管对象中的NSDate转换为NSTimeInterval?

我有一个对象,其属性具有在我的xcdatamodeld对象中定义的Date类型.为什么它使用NSTimeInterval生成NSManagedObject类?如何在其上设置NSDate然后让NSDate退出呢?

core-data ios

22
推荐指数
2
解决办法
9373
查看次数

不能让jasmine.any(功能)工作

我已经创建了一个完整的简化示例,可以复制我遇到的问题.

function TestObj() {
    var self = this;
    self.getStuff = function(aString, callback) {
        // TODO
    }
}

describe("server communications", function() {
    it("it calls the server", function() {
        var obj = new TestObj();
        obj.getStuff = jasmine.createSpy();
        // swap the above line for this and it makes no difference
        // spyOn(obj, "getStuff");

        var functionVar = function() {
        };

        obj.getStuff("hello", functionVar);

        expect(obj.getStuff).toHaveBeenCalledWith(
                [ "hello", jasmine.any(Function) ]);
    });
});
Run Code Online (Sandbox Code Playgroud)

我得到以下输出,而不是通过单元测试:

预期的间谍被调用:[['hello',<jasmine.any(function Function(){[native code]})>]]但被调用:[['hello',Function]]

为什么它没有认识到我传入的函数(function(){})实际上是函数?是什么原因代码的东西是什么?其他人有jasmine.any(Function)这个问题吗?谢谢!

EDITED

我尝试使用spyOn而不是jasmine.createSpy(),它没有任何区别.我只尝试了一个参数并且它有效.引入第一个字符串参数会破坏jasmine.any(Function) - 任何想法?

javascript jasmine

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

我可以从泛型类型参数中获取.class吗?

我有以下课程:

public abstract class MyClass<T extends Object> {

    protected T createNewFromData(Reader reader){
        GSON.fromJSON(reader,T.class); // T.class isn't allowed :(
    }
}
Run Code Online (Sandbox Code Playgroud)

如何将Class <T>实例传递到那里?是否有一些奇怪和古怪的工作?

有没有办法获得Class <T>引用而不是来自T类型的预实例化对象?它也不会让我这样做:

T t = new T();
Class<T> klass = t.class;
Run Code Online (Sandbox Code Playgroud)

尝试#2

有趣的是,如果我从类定义中删除"extends JSONOBjBase",我只是得到一个未经检查的强制转换警告(没有错误).还有另一种方法可以写出演员表是如何完成的吗?

eclipse截图

java generics gson

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

使用UINavigationBar而不使用UINavigationController

我想在我的UIWebView顶部使用UINavigationBar,但我想手动控制标题,后退按钮,后退按钮的功能 - 等等.换句话说,我从不想推送或弹出视图.我只想在用户点击Web视图时更改UINavigationBar内容.

我在哪里,我将UINavigationBar添加到我的superView并使其高44像素.由于我没有navigationItem,如何设置标题?我该怎么设置一个假的后退按钮?

我会很感激任何指针.我意识到这是非常奇怪的我正在做的事情.

谢谢 :)

iphone uinavigationbar ios

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

Facebook连接图状态对象的评论上限为25

有谁知道为什么无论给定的图形状态更新对象有多少注释,它都会将注释限制在25?我有一种感觉它只返回对象的实际注释的"样本".如何在不使用FQL API的情况下强制它完成所有操作?

fbconnect facebook-graph-api ios facebook-ios-sdk

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

iphone模态对话框就像原生"拍照,选择现有"

如何创建具有可自定义按钮选项的模式对话框,就像"拍照或录像"一样 iPhone上的"选择现有"对话框?这些按钮不是普通的UIButton,我确信它们不是为每个应用程序手工制作的.

iphone ios4

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

跟踪间歇性冻结iOS UI的提示

我2年前写了一个巨大的iPad应用程序,现在我又回到了它并将其升级到iOS5.它有点乱,因为它是我的第一个大型iPad应用程序.

它有一个"同步"步骤可能会持续几分钟,这些是一堆异步方法调用,它们从一个url获取JSON并将它们放入核心数据中.通常,应用程序将冻结(UI无响应).

有什么好的技巧来追踪这种冻结?调试器没有用,因为除非代码在主线程上运行,否则您没有可用的堆栈跟踪.该应用程序通常无法恢复,这表明某种死锁情况.

以下是一个可能有用的特定示例:

在此输入图像描述

一旦我确认它被冻结,我暂停了执行.它似乎每次都冻结在同一条线上 - 一个简单的任务.这里发生了什么?它太令人沮丧了.

此核心数据访问是否导致此问题?任何指针都将非常感激.

编辑2012年6月29日

单击此处查看执行所有创建/更新/删除Core数据对象的类的源代码.我只需要在这个应用程序中停止冻结/崩溃.我知道它一团糟,它也让我感到畏缩.我2年前写的这篇文章几乎没有任何关于Objective-c的知识.我应该重写它,但我必须在2天内让这个工作完全失控.任何人都可以指点一下快速获得线程安全的方法吗?我可以在大中央调度块代码中包装更新NSManagedObjectContext的每个方法吗?

deadlock core-data ipad ios

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

防止uicollectionview部分从新行开始

我正在使用uicollectionview上的流布局.这看起来很棒,除了它似乎在另一条线上开始了另一个部分.这似乎是一个合理的默认值,但我如何覆盖它并使这些部分无缝地在同一行上流动,好像没有新的部分开始?

谢谢!

ios uicollectionview uicollectionviewcell uicollectionviewlayout

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