什么时候建议使用git rebasevs. git merge?
成功改造后我还需要合并吗?
根据我的理解,如果ClassA需要包含ClassB头,则应该使用前向声明,而ClassB需要包含ClassA头以避免任何循环包含.我也明白a #import是一个简单的,ifndef所以包含只发生一次.
我的询问是这样的:什么时候使用#import,什么时候使用@class?有时如果我使用@class声明,我会看到一个常见的编译器警告,如下所示:
warning: receiver 'FooController' is a forward class and corresponding @interface may not exist.
真的很想理解这一点,而不是仅仅删除@class前向声明并抛出一个#import静音编译器给我的警告.
我已经看到Objective-C协议的使用以如下方式使用:
@protocol MyProtocol <NSObject>
@required
@property (readonly) NSString *title;
@optional
- (void) someMethod;
@end
Run Code Online (Sandbox Code Playgroud)
我已经看到使用这种格式而不是编写子类扩展的具体超类.问题是,如果您遵守此协议,您是否需要自己合成属性?如果您正在扩展超类,答案显然是否定的,您不需要.但是,如何处理协议需要符合的属性?
据我了解,您仍然需要在符合需要这些属性的协议的对象的头文件中声明实例变量.在这种情况下,我们可以假设它们只是一个指导原则吗?对于所需方法,情况并非如此.编译器会拍你的手腕以排除协议列出的必需方法.虽然属性背后的故事是什么?
这是一个生成编译错误的示例(注意:我已经修改了不反映手头问题的代码):
MyProtocol.h
@protocol MyProtocol <NSObject>
@required
@property (nonatomic, retain) id anObject;
@optional
Run Code Online (Sandbox Code Playgroud)
TestProtocolsViewController.h
- (void)iDoCoolStuff;
@end
#import <MyProtocol.h>
@interface TestProtocolsViewController : UIViewController <MyProtocol> {
}
@end
Run Code Online (Sandbox Code Playgroud)
TestProtocolsViewController.m
#import "TestProtocolsViewController.h"
@implementation TestProtocolsViewController
@synthesize anObject; // anObject doesn't exist, even though we conform to MyProtocol.
- (void)dealloc {
[anObject release]; //anObject doesn't exist, even though we conform to MyProtocol.
[super dealloc];
}
@end
Run Code Online (Sandbox Code Playgroud) 到目前为止,我已采取以下步骤:
现在,我还没准备好将实验合并到主人.但是我想将它推回到远程仓库,因为那是我与几位同事共享的存储库.我想让他们看看我在实验部门做了些什么.我通常只是通过SSH访问远程仓库.
如何在不影响远程仓库主分支的情况下在远程仓库上共享本地分支?
我正在尝试以编程方式随时检索我的iPhone应用程序正在使用的内存量.是的我知道ObjectAlloc/Leaks.我对这些不感兴趣,只知道是否可以编写一些代码并获取正在使用的字节数并通过NSLog报告.
谢谢.
我班上有很多重复的代码,如下所示:
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request
delegate:self];
Run Code Online (Sandbox Code Playgroud)
异步请求的问题是当你有各种请求消失,并且你有一个委托指定将它们全部视为一个实体时,许多分支和丑陋的代码开始形成:
我们回来了什么样的数据?如果它包含这个,那就做,否则做其他.我认为能够标记这些异步请求会很有用,就像你能够使用ID标记视图一样.
我很好奇什么策略对于管理处理多个异步请求的类最有效.
我希望能够在调试器到达特定的字符串匹配时使其中断.举个例子,我可能会有这样的事情:
Foo myObj = [self gimmeObj];
Run Code Online (Sandbox Code Playgroud)
myObj可能有一个叫做的属性name.我希望调试器在分配时停止
[myObj.name isEqualToString:@"Bar"];
Run Code Online (Sandbox Code Playgroud)
如何在Xcode中设置条件断点来做到这一点?
我最近向我的分支机构的HEAD提交了一个文件,其中有错误.我需要做以下事情:
最好的方法是什么?
我的iPhone应用程序中有一次崩溃,它会抛出NSException.崩溃报告在错误的位置和导致错误的位置上完全不明确.有没有一种聪明的方法让我在某处设置顶级异常处理程序以查看导致它的原因?我自己无法复制问题,但我的一些beta用户当然可以.
什么是处理这种性质问题的聪明方法?
我希望能够通过我的应用程序中的任何位置引用某些状态/对象.例如,用户登录到他们的应用程序,我需要调用Web服务并检索用户信息.然后,我希望能够从应用程序的任何位置访问此信息,如下所示:
myAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
user = delegate.u;
Run Code Online (Sandbox Code Playgroud)
是否在应用程序委托中将实例变量设置为User对象,并在需要时从那里引用它是一种糟糕的方式来实现它?我通常根据用户的登录设置它.
想听听专业人士如何处理这个.
objective-c ×7
cocoa-touch ×6
iphone ×5
git ×3
cocoa ×2
debugging ×2
breakpoints ×1
distributed ×1
git-merge ×1
git-rebase ×1
ios ×1
memory ×1
xcode ×1