小编fir*_*der的帖子

子模块内部的Git子模块(嵌套子模块)

git子模块是否有可能由其他几个git子模块组成,而超级git repo可以获取每个子模块的内容?

我尝试使用显而易见的/天真的方法来创建一个包含多个子模块的git repo.

然后将此git repo添加到另一个git repo作为子模块.

然后尝试从超级git仓库的根目录拉出git submodule init然后git submodule update.但这无法获取子子模块.

git git-submodules

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

UIScrollView水平分页就像Mobile Safari标签一样

Mobile Safari允许您通过输入一种UIScrollView水平分页视图来切换页面,页面控件位于底部.

我试图复制这种特殊的行为,其中水平可滚动的UIScrollView显示下一个视图的一些内容.

Apple提供的示例:PageControl显示如何使用UIScrollView进行水平分页,但所有视图都占用整个屏幕宽度.

如何让UIScrollView显示移动Safari的下一个视图的某些内容?

iphone cocoa-touch uiscrollview ios

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

类方法等效于-respondsToSelector:

是否有类方法相当于-respondsToSelector:

有点像+respondsToSelector:

我问的原因是因为通过-respondsToSelector:在类级别上实现,我得到一个编译器警告:"找到'-respondsToSelector:'而不是'protocol中的'respondsToSelector:'".

代码如下所示:

Class <SomeProtocol> someClass = [someInstance class];

if ([someClass respondsToSelector:@selector(someSelector:)]) {
    someVar = [someClass someSelector:someData];
}
Run Code Online (Sandbox Code Playgroud)

cocoa cocoa-touch objective-c

67
推荐指数
3
解决办法
4万
查看次数

const vs Objective-C中的静态NSStrings

这些行都在@implementation声明上方的实现文件中.

NSString * const aVar = @"aVarStringValue";

static NSString *aVar = @"aVarStringValue";
Run Code Online (Sandbox Code Playgroud)

据我所知,第二个static仅在应用程序的生命周期内分配一次,这一事实有助于提高性能.

但这是否意味着它本质上是一个内存泄漏,因为该内存块永远不会被释放?

const每次访问时,第一个声明是否会被分配?

cocoa cocoa-touch objective-c

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

辅助函数在Cocoa中

在Obj-C类中合并辅助/实用程序函数的标准方法是什么?

即通用功能,在整个应用程序中使用,并由多个类调用.

Obj-C方法是否可以存在于类之外,或者它是否需要是C函数才能具有这种行为?

cocoa objective-c

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

iPhone模拟器和applicationWillTerminate()

当我的应用程序在iPhone模拟器中运行时,委托方法

- (void)applicationWillTerminate:(UIApplication *)application
Run Code Online (Sandbox Code Playgroud)

仅在我第一次点击iPhone模拟器的主页按钮时调用.

按下主页按钮并再次启动应用程序后,按下主页按钮不会调用委托方法.

这里发生了什么?我误解了一些基本的东西吗?

iphone ios-simulator

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

在 NSScrollView 上剪切圆角

我有一个简单的自定义无边框 NSWindow 子类,它具有圆角矩形形状。

在这个窗口的内容视图中,我添加了一个 NSScrollView。

如何让 NSScrollView 将其文档视图剪辑到 NSWindow 的圆角矩形形状?

我已经尝试子类化 NSScrollView,覆盖 drawRect: 并在调用 super 之前添加一个剪切路径。我还尝试使用相同的技术对文档视图和剪辑视图进行子类化,但我无法将其剪辑。

顺便说一句,这是在具有弹性滚动行为的 Lion 上。

cocoa appkit osx-lion

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

PyObjC 并返回“输出”参数(即 NSError **)

我正在实现一个 ObjC 协议作为 PyObjC 类的混合。

该协议定义了一个“out”参数。

我找不到任何关于实现定义它的 ObjC 协议的 Python 类的行为的好的文档。

我找到了这个邮件列表线程,但那里的建议不起作用。他们说返回一个 Python 列表,其中方法的返回值作为第一项,输出参数作为第二项。

我试过这个,我得到的只是从 ObjC ( <type 'exceptions.ValueError'>: depythonifying 'char', got 'tuple')调用时的一个例外。

似乎 PyObjC 在 depythonifying 方法参数中严格遵守 ObjC 协议,这很好,但它并没有帮助我尝试修改输出参数。

这是 ObjC 协议:

#import <Foundation/Foundation.h>

@protocol TestProtocol <NSObject>

- (BOOL)testMethod:(NSError **)error;

@end
Run Code Online (Sandbox Code Playgroud)

这是实现此协议的 Python 类:

from Foundation import *
import objc

NSObject = objc.lookUpClass("NSObject")
TestProtocol = objc.protocolNamed("TestProtocol")

class TestClass(NSObject, TestProtocol):

    def testMethod_(self, error):
        return True, None
Run Code Online (Sandbox Code Playgroud)

问题:如何在 Python 中返回 ObjC 输出参数?

cocoa pyobjc

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

Objective-C __block关键字和线程安全

我想知道如何__block在方法的上下文中访问限定的var线程安全.

例:

__block NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];

for (int i=0; i<20; i++) {
    NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
        [dictionary setObject:@"test" forKey:@"test"];
    }];
    [someConcurrentQueue addOperation:operation];
}
Run Code Online (Sandbox Code Playgroud)

这里将操作添加到并发队列中,并且dictionary可能同时从不同的线程访问var.

这样安全吗?如果没有,我如何访问dictionary安全?

cocoa cocoa-touch objective-c cocoa-design-patterns objective-c-blocks

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

XPC是否需要沙箱用于MAS

我有一个沙盒应用程序.

这个应用程序有一个XPC服务,不是沙盒.

XPC服务是否需要沙箱以便我能够提交到Mac App Store?

macos cocoa xpc sandbox

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