小编ma1*_*w28的帖子

Objective-C运行时:如何从类中删除方法?

Objective-C运行时参考中,我看到class_addMethod但没有class_removeMethod.如何动态删除方法?

另外,class_addMethod添加实例方法还是类方法?

objective-c-runtime

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

LLVM在编译之前是否进行简单的算术运算?

我经常在代码中看到60*60代替的东西3600.他们都编译成同样的东西吗?即,预编译器是否替换为60*60 3600

compiler-construction xcode objective-c llvm

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

NSString:为什么使用static over literal?

Master-Detail Xcode项目模板生成如下代码:

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    }

    [self configureCell:cell atIndexPath:indexPath];
    return cell;
}
Run Code Online (Sandbox Code Playgroud)
  1. 为什么要声明NSStringstatic?为什么不直接使用字符串文字,如下所示?

    // Customize the appearance of table view cells.
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {        
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
        if (cell == nil) {
            cell = …
    Run Code Online (Sandbox Code Playgroud)

static objective-c string-literals nsstring

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

GDB:创建局部变量?

我正在使用 Xcode 的调试器。在断点处停止时,是否可以在 GDB 命令提示符中键入命令来创建局部变量?如果是这样,如何?请举例说明。

我知道我可以在代码中完成,然后重新编译程序,但我正在寻找一种更快的方法。

debugging xcode gdb

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

NSManagedObject是否保留其NSManagedObjectContext?

NSManagedObject提供访问它NSManagedObjectContext,但它保留它吗?

根据Marcus Zarra的 " 在iOS上传递NSManagedObjectContext"," 内部NSManagedObject保留了对它的引用NSManagedObjectContext,我们可以访问它."

Zarra如何知道这一点并且他是否正确?

我问,因为我想知道是否NSManagedObjectContextdealloctearDown下面的方法中编辑.(我正在使用CocoaPlant.)

#import <SenTestingKit/SenTestingKit.h>
#import <CocoaPlant/CocoaPlant.h>

#import "AccountUser.h"

@interface AccountUserTests : SenTestCase {
    AccountUser *accountUser;
}
@end

@implementation AccountUserTests

- (void)setUp {
    accountUser = [AccountUser insertIntoManagedObjectContext:
                   [NSManagedObjectContext contextWithStoreType:NSInMemoryStoreType error:NULL]];
}

- (void)tearDown {
    [accountUser delete];
}

- (void)testFetchWithLinkedAccountUserID {    
    // Tests go here...
}

@end
Run Code Online (Sandbox Code Playgroud)

core-data retain nsmanagedobject nsmanagedobjectcontext

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

为什么 - [UISearchBar showsScopeBar]被忽略了?

只要-[UISearchBar scopeButtonTitles]不是nil,搜索栏就会显示其范围栏,无论我是否设置showsScopeBarYESNO.这是一个错误还是我做错了什么?

iphone uikit uisearchbar ios

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

Ruby 异步网络::HTTP?

是否Net::HTTP支持异步语法?

我正在寻找类似下面代码的东西。

Net::HTTP收到来自服务器的响应(在这种情况下errornil)或连接到服务器时遇到错误(在这种情况下responsenil)后,该块将在主线程上被调用。

Net::HTTP.get('http://stackoverflow.com') do |response, error|
  if error
    puts "Connection error: #{error.message}"
  elsif response.status_code != HTTPOK
    puts "Unexpected status code: #{response.status_code}"
    puts response.body
  else
    puts "Success!"
    puts response.body
  end
end
Run Code Online (Sandbox Code Playgroud)

以下问题提供了答案,但我正在寻找基于块的解决方案。

ruby asynchronous block net-http

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

+ [NSNumber numberWithUnsignedInteger:] Literal?

我知道我可以做@3而不是[NSNumber numberWithInt:3]
但字面意思是[NSNumber numberWithUnsignedInteger:3]什么?

iphone objective-c nsnumber unsigned-integer objective-c-literals

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

将所有图像放入资产目录?

我在Xcode 5中开始了一个新项目.

  1. 这个Images.xcassets恶作剧是什么?

    我应该把我用于我的应用程序的各种图像(如按钮图像和东西)放在那里或只有AppIcon&LaunchImage

    我看到我可以创建一个新文件夹了Images.xcassets.我应该创建一个名为"按钮图标"或其他什么的文件夹,然后将它们扔进去吗?

    看,但我只是想为我的目标添加一些视网膜图像.

    我只支持iOS 7.所以,我不需要担心非视网膜等其他格式.

    为什么他们这么复杂而根本没有记录呢?为什么我需要这些额外的Contents.json文件?

    看起来我可以Images.xcassets从目标中取消选中(删除),但不能取消资产目录中的单个图像文件.

    我可以用旧方法做事,还是会错过压缩/性能增强?

  2. 是否有我可以设置的设置,以便我的应用程序将所有图像文件视为视网膜图像,即使它们@2x的文件名中没有后缀?

resources xcode image ios asset-catalog

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

Objective-C类别表现

如果我使用类别将我的Objective-C类的实现分解为多个@implementation块,是否会使我的iOS应用程序的结果二进制文件变大或影响性能?

显然,您无法在运行时获取类的详细信息?.那么,假设所有其他的相等,那么结果二进制文件是否应该与类别相同?

背景

我有一个UIViewController相当复杂的自定义子类.

iOS开发人员库:使用Objective-C编程:类别

除了向现有类添加方法之外,您还可以使用类别在多个源代码文件中拆分复杂类的实现.例如,如果几何计算,颜色和渐变等特别复杂,您可以将自定义用户界面元素的绘图代码放在单独的文件中以实现其余部分.

关于类别的另一个好处(例如与#pragma marks 相比)是Xcode允许您对整个@implementation块进行代码折叠(但不是两个代码之间的代码#pragma mark).如果要将类别(可选地折叠)保留在与主类相同的文件中,这将非常有用.

performance design-patterns objective-c code-organization objective-c-category

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