小编rny*_*rom的帖子

Xcode"使用未声明的标识符"错误,编译/运行就好了

我有一个令人难以置信的恼人问题,这妨碍了我的工作流程.在我的项目中,我有"未声明的标识符用户"错误.它们都是对单个类的引用,特别是Theme类.我用我的导入检查了任何循环引用,没有.我真的很困惑.

以下是错误的屏幕截图.我会在构建日志中发布错误以获取更多详细信息,但是没有.它构建并运行得很好......

在此输入图像描述

我试过清理,删除派生数据......有什么想法吗?

iphone xcode compiler-errors ipad ios

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

自定义UIDatePicker for iOS7的文本颜色(就像Mailbox一样)

我陷入了最令人沮丧的困境.我上下研究过,可以清楚地看到Apple不希望我们篡改iOS 7.好吧,我想篡改.而且,Mailbox的团队清楚地知道如何做到这一点并获得批准.

我想要实现的主要是将标签颜色更改为白色.

邮箱UIDatePicker

我的第一个想法是他们使用的是模仿UIDatePicker的自定义UIPickerView,但我不认为是这种情况.

我放大了一个小片段,发现了正常UIDatePicker(黑线)的残余以及字母"W"上的剪辑.

邮箱UIDatePicker片段

现在我已经高高低调了.做了一些运行时黑客攻击,与UIAppearance混淆,甚至挖到一些私有API只是为了看看这是否可行.

我接近,非常接近,但它使用了私有API,如果你滚动得足够快,标签会再次变黑.

如果没有a)违反规则或b)花费无数小时重新实现UIDatePicker,我完全不知道如何做到这一点.

邮箱,告诉我你的秘密!如果其他人有任何建议(我的意思是任何建议),请告诉我.

此外,这是我得到的最接近的:

到目前为止如此接近

uidatepicker uipickerview uikit ios uiappearance

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

您如何编写以"Reactive Cocoa"方式获取集合?

我正在构建的客户端正在使用Reactive CocoaOctokit,到目前为止它已经进展顺利.但是现在我正处于一个我想要获取存储库集合的地步,并且无法绕过这样的"RAC方式".

// fire this when an authenticated client is set
[[RACAbleWithStart([GHDataStore sharedStore], client) 
  filter:^BOOL (OCTClient *client) {
      return client != nil && client.authenticated;
  }]
 subscribeNext:^(OCTClient *client) {
     [[[client fetchUserRepositories] deliverOn:RACScheduler.mainThreadScheduler]
      subscribeNext:^(OCTRepository *fetchedRepo) {
          NSLog(@" Received new repo: %@",fetchedRepo.name);
      }
      error:^(NSError *error) {
          NSLog(@"Error fetching repos: %@",error.localizedDescription);
      }];
 } completed:^{
     NSLog(@"Completed fetching repos");
 }];
Run Code Online (Sandbox Code Playgroud)

我最初假设-subscribeNext:会传递一个NSArray,但现在明白它会返回每个返回的"next"对象的消息,在这种情况下是一个OCTRepository.

现在我可以这样做:

NSMutableArray *repos = [NSMutableArray array];
// most of that code above
subscribeNext:^(OCTRepository …
Run Code Online (Sandbox Code Playgroud)

functional-programming github objective-c reactive-cocoa

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

使用异步网络请求进行ReactiveCocoa排序

我正在构建一个演示应用程序,并尽可能地尝试符合ReactiveCocoa 设计模式.以下是该应用的功能:

  • 找到设备的位置
  • 每当位置键更改时,都会获取:
    • 目前的天气
    • 每小时预测
    • 每日预测

所以顺序是1)更新位置2)合并所有3个天气提取.我已经构建了一个WeatherManager暴露天气对象,位置信息和手动更新方法的单例.该单例符合CLLocationManagerDelegate协议.位置代码非常基本,所以我将其遗漏.唯一真正感兴趣的是:

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
    // omitting accuracy & cache checking
    CLLocation *location = [locations lastObject];
    self.currentLocation = location;
    [self.locationManager stopUpdatingLocation];
}
Run Code Online (Sandbox Code Playgroud)

获取天气条件非常相似,所以我构建了一个方法来生成RACSignal从URL获取JSON.

- (RACSignal *)fetchJSONFromURL:(NSURL *)url {
    return [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
        NSURLSessionDataTask *dataTask = [self.session dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
            if (! error) {
                NSError *jsonError = nil;
                id json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&jsonError];
                if (! …
Run Code Online (Sandbox Code Playgroud)

design-patterns functional-programming objective-c ios reactive-cocoa

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

Objective-C NSRegularExpressions,查找字符串中第一次出现的数字

使用Objective-C,我对正则表达式非常环保.我遇到了一些困难.

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\b([1-9]+)\\b" options:NSRegularExpressionCaseInsensitive error:&regError];
if (regError) {
    NSLog(@"%@",regError.localizedDescription);
}
__block NSString *foundModel = nil;
[regex enumerateMatchesInString:self.model options:kNilOptions range:NSMakeRange(0, [self.model length]) usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop) {
    foundModel = [self.model substringWithRange:[match rangeAtIndex:0]];
    *stop = YES;
}];
Run Code Online (Sandbox Code Playgroud)

我要做的就是拿一个字符串

150A
Run Code Online (Sandbox Code Playgroud)

得到

150
Run Code Online (Sandbox Code Playgroud)

regex cocoa objective-c ios nsregularexpression

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

递归-flattenMap:使用Reactive Cocoa + OctoKit(从Web服务获取动态对象图)

我试图在使用Github的库文件的预取的对象图Octokit取决于反应Cococa.我遇到了一个问题,即创建一个信号,递归地向下钻取,直到没有更多的目录被提取为止.这是存储库的示例目录图(注意:文件已被省略以保持图形简单和干净).

RNGridMenu的目录图

- (RACSignal *)fetchContentTreeForRepository:(OCTRepository *)repository {
    return [[self fetchContent:Nil forRepository:repository parentContent:nil] doCompleted:^{
        // fetching tree finished, persist in database
    }];
}

- (RACSignal *)fetchContent:(OCTContent *)content forRepository:(OCTRepository *)repository parentContent:(OCTContent *)parentContent {
    return [[[[self.client fetchContents:content forRepository:repository] collect] deliverOn:RACScheduler.mainThreadScheduler]
            flattenMap:^RACSignal *(NSArray *fetchedContents) {
                // set the contents that were fetched
                id<OCTContentStoreProtocol>store = content ?: repository;
                store.contents = fetchedContents;

                // only search for contents of type "dir" (directory)
                NSArray *directories = [fetchedContents filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"contentType = \"dir\""]]; …
Run Code Online (Sandbox Code Playgroud)

recursion functional-programming github objective-c reactive-cocoa

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

带有左/右 contentInset 的 UIScrollView 中的 UIRefreshControl 布局错误

如果我使用UIScrollView带有非零左/右的 acontentInset并添加 a UIRefreshControl,则刷新位置不正确,使 UI 和动画看起来很奇怪。

scrollView.contentInset = UIEdgeInsets(top: 0, left: 40, bottom: 0, right: 40)
scrollView.refreshControl = UIRefreshControl()
Run Code Online (Sandbox Code Playgroud)

我不想破坏刷新控件的布局,但找不到使其正确定位的方法。

这是错误的屏幕截图: 在此处输入图片说明

这是来自视图检查器的动画:

在此处输入图片说明

uitableview uiscrollview uikit uicollectionview uirefreshcontrol

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

游戏记分应用程序的数据结构/模型(避免多对多对多)

我正在探索一个简单的记分应用程序,用于玩拉米纸牌游戏作为练习。我正在为 iOS 构建它,但这有点无关紧要,因为它使用 SQLite 数据存储,因此数据结构适用于任何环境。让我设置一个用例:

要开始记分,您首先要设置玩家。我希望能够保留玩家,以便您可以跟踪统计数据等。因此,您要么创建新玩家,要么选择现有玩家。

然后,当您玩游戏时,您会添加每个玩家的分数的回合。

游戏结束后,玩家和得分都会被保存,以便您可以查看过去的游戏日志。

我遇到的问题是一个玩家可以玩很多游戏,这些游戏有很多轮。但是,当观看一场比赛时,它有很多轮,每个轮都有很多玩家(显示他们的分数)。

为此构建 ERD 表明我对这种数据结构的看法是多么失控。

愚蠢的ERD

我好像在转圈子。有没有任何构建这些数据的示例,或者有人可以告诉我我在哪里偏离了轨道?

database-design entity-relationship relational-database data-structures

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

Cocos2d-iPhone或Sparrow首次进行2D iOS游戏开发?

我刚刚得到了基本的UIKit.我已经制作了几个个人应用程序等等,但现在我已经准备好与其他一些开发人员一起开始游戏了.这两个框架看起来都很强大,并且有很多花里胡哨的东西.

有人有偏好吗?相互比较时有利有弊吗?他们似乎都有类似的语法和性能.

iphone objective-c cocos2d-iphone sparrow-framework

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