小编Mik*_*ler的帖子

将函数指针转换为另一种类型

假设我有一个接受void (*)(void*)函数指针的函数用作回调函数:

void do_stuff(void (*callback_fp)(void*), void* callback_arg);
Run Code Online (Sandbox Code Playgroud)

现在,如果我有这样的功能:

void my_callback_function(struct my_struct* arg);
Run Code Online (Sandbox Code Playgroud)

我可以安全地这样做吗?

do_stuff((void (*)(void*)) &my_callback_function, NULL);
Run Code Online (Sandbox Code Playgroud)

我已经看过这个问题并且我已经看过一些C标准,它们说你可以转换为'兼容函数指针',但我找不到'兼容函数指针'的含义.

c function-pointers

81
推荐指数
4
解决办法
8万
查看次数

UIScrollView图像/照片查看器,启用了分页和缩放功能

好吧,我认为现在是时候在互联网上找到这个问题的正式位置:如何UIScrollView使用分页和缩放制作一个photoviewer.欢迎UIScrollView黑客同行.

UIScrollView启用了分页功能,而且我显示UIImageViews的内置照片应用程序.(这听起来很熟悉吗?)

我在github上找到了以下项目:

http://wiki.github.com/andreyvit/ScrollingMadness

其中显示了启用分页时如何在滚动视图中实现缩放.如果其他人尝试这一点,我实际上必须删除UIScrollView子类并使用本机类,否则它不起作用.我认为这是因为3.0 SDK中的滚动视图截获触摸事件的变化.

因此,想法是在开始缩放时删除所有其他视图,并将当前视图移动到(0,0)scrollview,更新contentsize等等.然后当您缩放回1.0f时,它会添加其他视图并放置事情都恢复了顺序.

总之,该项目完全在模拟器,但在设备上还有所调整的观点,这看起来像它的事实引起我们正在改变的一些讨厌的运动contentsize/ offset等的观点被调整.您必须执行此视图移动,否则您可以向左平移其他视图留下的空白.

我在3.0 SDK发行说明的"已知问题"中找到了一个有趣的注释:

UIScrollView:缩放后,内容插入将被忽略,内容将保留在错误的位置.

这听起来就像这里发生的事情.放大后,视图将在屏幕外移动,因为您已更改了偏移等.

我已经花了好几个小时就已经花了好几个小时,我正在慢慢地意识到这不会起作用.

Three20的照片浏览器是不可能的:它太重了,并且有太多不必要的UI和其他行为.

内置的Photo应用程序似乎有些神奇.如果您放大图像并平移到远边,当前照片将独立于其旁边的照片移动,这不是您在使用标准时尝试使用的照片UIScrollView.

我见过有关嵌套的讨论,UIScrollView但我真的不想去那里.

有没有人用标准管理这个UIScrollView(并在2.2和3.0 SDK中工作)?我不喜欢滚动我自己的缩放+反弹+平移+分页代码.

iphone uiscrollview ios

55
推荐指数
4
解决办法
5万
查看次数

目标C - 从调试器错误中获取行号或完整堆栈跟踪?

是否可以从调试器获取源代码的行号(或任何有助于调试问题所在的位置),以显示问题的来源?

我收到一个错误:

-[NSCFArray objectAtIndex:]: index (-1 (or possibly larger)) beyond bounds (9)
Run Code Online (Sandbox Code Playgroud)

这显然意味着我在某些时候会超出界限,但是如果有可能我想获得更多信息来帮助我解决问题.

我正在设置断点并尝试逐行完成程序,但这是一个繁琐的过程.谢谢!

xcode cocoa objective-c

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

Git是否准备好向我的老板推荐?

我想向我的老板推荐Git作为一个新的源代码控制系统,因为我们在90年代被VSS(哎哟)困住了,但是工具和第三方支持还不够好吗?

具体来说,我说的是类似于TortoiseSVN的GUI前端,体面的视觉差异/合并支持,以及诸如电子邮件提交通知和来自第三方(如IDE和构建系统)的一般支持.

虽然这将由程序员使用,但我们团队中确实需要这种东西.我不想让每个人都使用新工具,甚至是新的源代码控制范例(分布式),除了命令行应用程序和一些在线教程.这将是一个倒退.

所以你觉得...... Git准备好了吗?Git有哪些不错的工具以及第三方开发应用程序支持哪些工具?

编辑:我原来的问题非常模糊,所以我正在更新它,专门询问可用工具列表和第三方支持Git.也许我们可以获得一个包含一系列内容的社区wiki帖子.

我也不认为'使用颠覆'是一个充分的答案.除了离线编辑之外,使用分布式源控制系统还有其他原因 - 私有和廉价分支就是其中之一.

git version-control devtools

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

Time Profiler仪器中的"Self"和"#Self"是什么意思?

文档只是说它意味着"符号自称的时间",但这意味着什么?"#Self"是什么意思?

当我使用乐器时,如果"#Self"等于100,那么"Self"也是100.0.

iphone instruments ios

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

iPhone应用程序:如何从root.plist获取默认值?

我正在开发一款iPhone应用程序

我从root.plist中读取了一个键,如下所示:

NSString *Key1Var = [[NSUserDefaults standardUserDefaults] stringForKey:@"Key1"];
Run Code Online (Sandbox Code Playgroud)

("Key1"是PSMultiValueSpecifier已在root.plist中设置了默认字符串值的)

一旦用户进行设置,这工作正常.但是如果用户在进行任何设置之前运行应用程序,他将获得nil"Key1".在这种情况下,我期待我为"Key1"设置的默认值.我需要做什么,以便用户不必进行设置,以使应用程序第一次运行?

问候,哈里什

iphone xcode objective-c

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

NSSet with NSStrings containsstObject在应该返回YES时不返回YES

我正在将一个字典(单词列表,而不是类)加载到NSSet中作为NSStrings.然后我重复发送这个消息-containsObject:someNSString.但它总是返回错误.我写了一些代码来测试它:

NSLog(@"Random from dictionary: %@", [dictionary anyObject]);
NSString *test = [NSString stringWithFormat:@"BEMIRED"];
NSLog(@"To match this word: %@", test);
if ([dictionary containsObject:test])
    NSLog(@"YES!");
Run Code Online (Sandbox Code Playgroud)

在日志中我得到以下内容:

Random from dictionary: BEMIRED
To match this word: BEMIRED
Run Code Online (Sandbox Code Playgroud)

(我错过了"是的!")

当我尝试使用CFShow(字典)时,我可以看到它实际上包含字符串和所有内容.一个例子:

0 : <CFString 0xc3bd810 [0x1386400]>{contents = "BEMIRED"}
3 : <CFString 0xdf96ef0 [0x1386400]>{contents = "SUBJECTIFIED"}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?谢谢!

objective-c nsstring nsset

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

iPhone en_*子语言本地化

我想在我的iphone应用程序中为en_GB和其他'en'子语言本地化字符串,但是XCode和iphone拒绝让这种情况发生.我为en_GB和en_US(我尝试了连字符和下划线)创建了一个"Localizable.strings"的本地化用于测试目的,但它们只是无法识别.唯一有效的语言代码是"en"(在XCode中显示为"English").

我不敢相信这是不可能的,所以我做错了什么?我也希望得到典型的"级联"行为,如果在子语言中找不到字符串,例如"en_GB",则应该从"en"中获取,如果可能的话.救命?

iphone xcode localization

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

UITextField模糊文本

即使使用标准字体大小,我也遇到了UITextField文本被模糊/消除锯齿的问题.当控件是第一响应者时,文本将显得清晰,但在失去焦点时再次模糊:

alt text http://www.mikeweller.com/images/blog/UITextFieldBlur.png

有人知道如何解决这个问题吗?

iphone cocoa-touch uitextfield uikit ios

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

在C中命名类型时要使用的样式

根据这个堆栈溢出答案,类型名称上的"_t"后缀在C中保留.当typedef用于创建新的opaque类型时,我习惯在名称中使用某种类型的指示.通常我会选择类似的东西,hashmap_t但现在我还需要别的东西.

C中的类型是否有任何标准命名方案?在其他语言中,使用类似CapsCase Hashmap是常见的,但我看到的很多C代码根本不使用大写.CapsCase也可以很好地使用库前缀,比如XYHashmap.

因此在C中命名类型是否有通用规则或标准?

c naming-conventions

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