小编Luk*_*uke的帖子

iOS中的基本拖放功能

我希望有一个视图,其中有车辆行驶,用户也可以拖放.您认为这样做的最佳大规模战略是什么?是否最好从代表车辆的视图或更大的视图中获取触摸事件?有没有一个简单的范例,你用来拖放你满意吗?不同策略的缺点是什么?

iphone drag-and-drop touch ipad ios

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

如何在Xcode 4中使用.xcconfig文件?

我刚刚切换到Xcode 4,我在使用.xcconfig文件进行构建设置时遇到了麻烦.已经在Xcode 3中分配了文件的我的目标都已设置 - 标题为Config.file的列显示在Build Settings的Levels视图中.但我无法弄清楚如何编辑此视图中的列或将.xcconfig文件放在何处以将其附加到新目标.我在网上看过,但没有找到答案.有人知道怎么做吗?

xcode xcconfig xcode4

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

Objective-C++的缺点?

我正在使用Objective-C++为iOS编写一个大型项目.我主要使用Objective-C作为UI和其他Apple API,使用C++进行内部音频处理和其他信息处理.我想知道自由混合Objective-C和C++的缺点.

当然,混合两个对象模型有其固有的局限性以及混乱和混乱的可能性.我更好奇的是如何使用Objective-C++会影响编译过程,我可能会遇到的语法缺陷,可读性问题以及我如何避免这些,等等.我很想知道你对Objective-C++的体验有什么就像接近这个以及你可能有的提示一样.

c++ coding-style objective-c objective-c++ ios

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

在Swift中使用反引号的实际应用

这份文件:

要使用保留字作为标识符,请在其前后放置一个反引号(`).

我很好奇这个的实际应用.你什么时候会真正想要的东西的名字`class`,`self`等等?

或者,相关地,为什么Swift的设计者允许这样做,而不是仅仅禁止我们使用保留字作为标识符?

reserved-words identifier backticks ios swift

17
推荐指数
2
解决办法
2197
查看次数

如何加速UITableView?

我有一个UITableView,在200个部分中有大约400个单元格,并且在响应用户交互(滚动,选择单元格)时有点迟钝.我已经确保检索单元格和标题视图的方法在运行时最小化,并且我不认为我做任何与众不同的事情让它变慢.单元格和标题只有一个背景图像和文本.有没有其他人有这样的问题,你知道有什么办法让它运行得更快一点吗?

编辑:我正在提供赏金,因为我很想得到一些有用的反馈.我认为答案在于我的代码中的问题.相反,我正在寻找重新设计UITableView的策略,以便它运行得更快.我完全愿意添加新代码,我期待听到你们要说的话.

在模拟器和我的设备(iPhone 4)上都观察到了低迷.这是我的实现viewForHeaderInSectioncellForRowAtIndexPath,这是唯一UITableViewDelegate实现非常重要的方法.我正在重用单元格和标题视图.

- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger) section
{
    HaikuHeaderView* view= [m_sectionViews objectAtIndex:section];
    NSMutableArray* array= [m_haikuSearch objectAtIndex:section];
    Haiku* haiku= [array objectAtIndex:0];

    [view.poetLabel setText:[haiku nameForDisplay]];

    return view;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];

        cell.backgroundView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cell gradient2.png"]];

        // (Set up a bunch of label attributes …
Run Code Online (Sandbox Code Playgroud)

uitableview ios cgrectmake

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

Android NSD - 永久挂起/运行 - 特定于设备?

我正在尝试在我公司的专有硬件设备上执行服务发现,该设备拥有自己的WiFi网络,并在该网络上宣传一项bonjour服务.当我连接到那个WiFi网络时,我正在使用NSD来发现该服务并解决它.

代码非常简单,通常效果很好而且很快.除了我有一个相当反复出现的问题(10次尝试中有5次)到目前为止本地化我的三星S8 +.到目前为止无法在S6或Pixel XL上重现.

问题是DiscoveryListener除了onDiscoveryStarted()之外从未做过任何事情,它只是永远运行.如果我杀了应用程序并重新开始,有时候它会继续挂起.

这就像有一个被阻塞的线程或东西,但是在日志中没有有用的信息(我能找到),而且我还没有发现任何东西可以锁定,因为我可以做些什么来从中恢复.

我添加了一个超时,它将在30秒后停止监听器,但通常在我重试之后它仍然无效.

服务发现过程包含在LiveData中,LiveData在活动时启动.

    const val SERVICE_TYPE_FOO = "_foo._tcp."

    private val serviceDiscoveryListener = ServiceDiscoveryListener()

    override fun onActive() {
        super.onActive()
        stopRunnable = StopDiscoveryRunnable()
        nsdManager.discoverServices(
            SERVICE_TYPE_FOO,
            NsdManager.PROTOCOL_DNS_SD,
            serviceDiscoveryListener
        )
        handler.postDelayed(stopRunnable, SERVICE_DISCOVERY_TIMEOUT_MS)
    }

private lateinit var stopRunnable: Runnable

private inner class StopDiscoveryRunnable : Runnable {
    override fun run() {
        try {
            nsdManager.stopServiceDiscovery(serviceDiscoveryListener)
            Timber.w("service discovery timed out")
            postValue(ServiceDiscoveryState.Error)
        } catch (e: Throwable) {
            // no-op
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

听众很简单......

private inner class ServiceDiscoveryListener : NsdManager.DiscoveryListener {
    override fun onServiceFound(serviceInfo: NsdServiceInfo?) …
Run Code Online (Sandbox Code Playgroud)

android mdns bonjour dns-sd nsd

15
推荐指数
0
解决办法
494
查看次数

使用Xcode 7.3.1"无效的Swift支持 - 缺少SwiftSupport文件夹"

在使用Application Loader提交应用更新后,我收到了Apple的这封电子邮件:

我们发现您最近发送的"[App Name]"存在一个或多个问题.要处理您的交付,必须纠正以下问题:

无效的Swift支持 - 缺少SwiftSupport文件夹.使用当前公共(GM)版本的Xcode重建您的应用程序并重新提交.

一旦纠正了这些问题,您就可以重新更新已更正的二进制文件.

我已经确认这个二进制文件是使用最新的Xcode GM(7.3.1)构建的,所以这不是问题.我已经在网上看到了这个问题的各种各样的潜在修复,但希望通过提供进一步的细节,有人可能能够帮助我找出具体的解决方案.

  • 使用Application Loader 3.5提交了一个IPA文件,没有任何问题.
  • 该应用程序的先前版本不使用Swift,但此更新确实如此.
  • "嵌入式内容包含Swift代码"构建设置设置为NO.我的理解是,只有YES当我们有一个纯粹的Objective-C目标依赖于Swift或混合目标时才会这样.
  • 该项目使用CocoaPods,但我们的pod中没有更改此更新.
  • 该应用程序的先前版本包括WatchKit应用程序和扩展程序,但此更新不包括.
  • xcarchive使用相同版本生成的内部,SwiftSupport文件夹就在那里.它包含一个子文件夹iphoneos,其中包含几个Apple Swift库libswiftFoundation.dylib.
  • 如果我将.ipa文件重命名为.zipunarchive,它的app包不包含SwiftSupport文件夹,但包含一个Frameworks具有相同Swift dylib 的文件夹.

xcode itunesconnect ios swift xcode7

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

iOS中的色轮或颜色选择器

如何在iOS中制作色轮,颜色选择器或色调选择器以在iPad上使用.

这是一个类似于我想要的颜色选择器的示例图片.

在此输入图像描述

@All先谢谢.

iphone colors objective-c ipad ios

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

为什么`git checkout <branch> <file>`进行更改?

如果我从一个干净的工作树开始运行git checkout <branch> <file>,那里<branch>有这个文件的不同版本,我最终会进行一个阶段而不是一个非分阶段的更改.

这是什么原因?这是否只是为了与其他命令保持一致git mv,您希望这些命令可以进行更改?用于git checkout解决合并冲突时是否方便?还是有其他理由吗?

这对我来说似乎有点奇怪,因为只是使用git checkout <branch> <file>并没有提供任何关于我是否计划改变的指示.

git branch git-checkout git-branch

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

前瞻性声明的缺点?

在C++和Objective-C中,我已经养成了向前声明任何不需要在头文件中定义的必要类的习惯,然后根据需要导入在源文件中定义这些类的头文件.

有没有这种情况不是一个好主意?

(我知道前向声明的一大缺点是不完整类型的有限可用性.出于这个问题的目的,假设在头文件中我只需要使用前向声明的类作为不完整的类型.)

c++ class objective-c forward-declaration incomplete-type

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