小编Bar*_*ark的帖子

处理在通过NSObject的performSelectorOnMainThread调用的方法期间引发的异常:withObject:waitUntilDone:

myMethod:如果通过NSObject调用异常会引发异常,会发生什么performSelectorOnMainThread:withObject:waitUntilDone:

特别是,我可以在这样的电话会议中抓住他们performSelectorOnMainThread......

@try {
    [self performSelectorOnMainThread:@selector(myMethod) withObject:nil waitUntilDone:YES];
} @catch(NSException *e) {
    //deal with exception raised in myMethod here??
}
Run Code Online (Sandbox Code Playgroud)

我意识到如果waitUntilDone是这样的语义很奇怪NO.

macos cocoa exception objective-c

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

如何在数据源发生变化时更新NSTableView?

我正在使用Cocoa Programming For Mac OS X(一本好书).本书给出的一个练习是构建一个简单的待办事项.UI具有表格视图,用于键入新项目的文本字段以及用于将新项目添加到表格的"添加"按钮.

在后端我有一个控制器,它是我的NSTableView的数据源和委托.控制器还实现了由"添加"按钮调用的IBAction方法.它包含一个NSMutableArray来保存待办事项列表项.单击该按钮时,操作方法将正确触发,新字符串将添加到可变数组中.但是,我的数据源方法未正确调用.他们在这里:

- (NSInteger)numberOfRowsInTableView:(NSTableView*)aTableView {NSLog(@"Calling numberOfRowsInTableView:%d",[todoList count]); return [todoList count]; }

- (id)tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
row:(NSInteger)rowIndex {
    NSLog(@"Returning %@ to be displayed", [todoList objectAtIndex:rowIndex]);
    return [todoList objectAtIndex:rowIndex];
}
Run Code Online (Sandbox Code Playgroud)

这是擦.-numberOfRowsInTableView仅在应用程序首次启动时调用,而不是每次我向数组添加新内容时调用.-objectValueForTableColumn永远不会被召唤.我认为这是因为Cocoa非常聪明,在没有任何东西可以绘制的时候不会调用这个方法.我需要调用一些方法让表视图知道它的数据源已经改变了,它应该重绘自己吗?

macos cocoa nstableview

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

删除或更新HDF5中的数据集?

我想以编程方式更改与HDF5文件中的数据集关联的数据.我似乎找不到按名称删除数据集的方法(允许我再次使用修改后的数据添加数据集)或按名称更新数据集.我正在使用适用于HDF5 1.6.x的C API,但指向任何HDF5 API都会很有用.

c c++ api hdf5

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

计算C++标头中定义的方法数

是否有工具来计算标题中定义的方法数?这似乎是人们不时想做的事情,但我从来没有听说过这样的实用工具.我可以自己滚动(在这种特殊情况下,想出适合我的东西很容易),但我想我先尝试stackoverflow :)

谢谢,易

c++

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

这对初学者来说更容易:RubyCocoa或ObjC/Cocoa

我听过一些过去比较成熟的辩论:RubyCocoa或Obj-C/Cocoa ......但我觉得答案正好超过了真正欣赏答案的"新手".

所以问题是:对于一个初学者来说,几乎没有编程经验,是否更容易学习Ruby并通过桥接探索Cocoa(然后可能解决Obj-C)或直接跳到Objective-C和可可.

两个社区都很强大,拥有大量的资源,但是很多人都指出Obj-C的语法只是令人生畏.也许对于一个真正的初学者来说,学习Ruby然后解决Objective-C会更容易吗?

更新:我道歉,但当我说"学习Ruby并探索Cocoa"时,我并不是要通过RubyCocoa学习编程,而是学习Ruby(一旦有足够的信心)开始探索Cocoa,并有可能利用他们的成长解决Obj-C的技能.

ruby cocoa objective-c ruby-cocoa

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

如果我发送一个 - 发布的话,集合是否会向它拥有的所有对象发送--release消息?

我一直在读,如果一个集合"被释放"它也会释放它的所有对象.另一方面,我还读到,一旦集合被解除分配,集合就会释放它的对象.

但最后一件事可能并非总是如苹果所说.系统决定是否解除分配是好的.在大多数情况下,它会,但在某些情况下不会.

所以我想知道一个集合是否会导致这样的内存泄漏?当它确实发布了 - 它的所有对象发送到集合本身的-release消息时,它应该实际上 - 一旦我获得集合本身就保存集合中的所有对象.

帮助我清楚地了解这一点.谢谢!

iphone cocoa-touch memory-management uikit

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

在Mac上使用Python2.6并尝试安装psycopg2

我是Python的新手.我现在正在运行Python2.6.我正在关注Python网站上的教程.我的问题是当我尝试按照这里的说明操作时:

http://py-psycopg.darwinports.com/

我得到的东西......

sudo port install py-psycopg
... bunch of errors here...
Error: The following dependencies failed to build: py-mx python24
Run Code Online (Sandbox Code Playgroud)

我正在运行MacOS X 10.4.

我如何使这项工作?

任何回复将不胜感激.

更新:

运行下面的代码后,我得到以下错误:

$ sudo port install py26-psycopg2
Warning: Skipping upgrade since openssl 0.9.8k_0 >= openssl 0.9.8k_0, even though installed variants "" do not match "+darwin". Use 'upgrade --enforce-variants' to switch to the requested variants.
    Warning: Skipping upgrade since readline 6.0.000_1 >= readline 6.0.000_1, even though installed variants "" do not match "+darwin". Use 'upgrade …
Run Code Online (Sandbox Code Playgroud)

python macos

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

NSURL bookmarkData解析器的Finder风格UI,缺少文件?

我正在使用NSURLOS X 10.6中引入的新书签数据API来存储文件系统资源的"别名".我用的时候

+[NSURL URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:]
Run Code Online (Sandbox Code Playgroud)

要解析书签数据,nil如果文件不再存在,我会得到.因为我不是通过NSURLBookmarkResolutionWithoutUI在书签分辨率选项,我预计将出现一个对话框,比如,当你打开一个别名文件通过Finder中显示,不再解析(即一个对话框,取消固定别名,等...) .

有没有办法NSURL自动提示重新连接/解决损坏的书签数据?

书签数据通过以下方式创建:

NSError *err
NSData *bookmarkData = [myFileURL bookmarkDataWithOptions:NSURLBookmarkCreationSuitableForBookmarkFile
                           includingResourceValuesForKeys:nil
                                            relativeToURL:nil
                                            error:&err];
Run Code Online (Sandbox Code Playgroud)

虽然如果我使用0选项代替的话,我会得到相同的结果NSURLBookmarkCreationSuitableForBookmarkFile.

我试图解决相同的过程bookmarkData:

BOOL stale;
NSError *err
NSURL *resolvedURL = [NSURL URLByResolvingBookmarkData:self.bookmarkData
                                               options:0
                         relativeToURL:nil
                               bookmarkDataIsStale:&stale
                                                 error:&err];
Run Code Online (Sandbox Code Playgroud)

通过书签数据写入到取景器别名文件,然后通过从该文件随后按上述方法读出书签数据解析URL的舞蹈去不产生任一所期望的UI结果(虽然在Finder打开别名文件不产生所需的UI对话框).

macos cocoa nsurl

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

Objective-C引用指针声明获取错误

我有这个宣言.

- (BOOL)getNHPData:(REMOTE_MESS_ID)msgId withEvent:(RSEvent*&)pEvent;
Run Code Online (Sandbox Code Playgroud)

RSEvent**也试过,但我得到这个错误2次

Expected ')' before RSEvent
Run Code Online (Sandbox Code Playgroud)

为什么会如此.

objective-c

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

是否有用于播放视频的框架或cocoa API?

简而言之,我想创建一个简单的视频播放器,可以播放一些主要的视频格式,例如quicktime*.mov.我需要的是:

  • 视频播放(至少最主要的格式会很棒)
  • 玩,暂停
  • 需要有关电影当前位置的信息(通过了多少秒,或多少百分比)

我的目标是mac,一开始.因此,首选技术是Cocoa和Objective-C.但如果没有什么可以做的,我也可以想象用Java做点什么.任何的想法?

java video cocoa quicktime objective-c

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

如何将应用程序从旧iPhone移植到iPhone 4?(Retina显示屏)

对不起,如果我问一些愚蠢但请不要把我击倒!

我在xcode中做了一点玩,但只不过是一个按钮按计数器的东西..

我很好奇..在开发视网膜显示器时,你显然会产生更高的分辨率png和新的显示器.

你会如何让应用程序在较低分辨率的iPhone上运行?

您是否会使用相同的高分辨率图形并让操作系统执行其余工作,或者您是否需要编写一大堆代码来根据设备切换图形?

再次对不起,如果它在文档中,但我找不到它!

提前致谢..

  • 丹尼尔

iphone xcode objective-c ios

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