小编pro*_*der的帖子

Cocoapods 1.0:找不到头文件

我刚尝试从cocoapods 0.39.x更新到Cocoapods 1.0.运行

pod安装

从终端导致没有警告.一切似乎都很正常.但是,当我尝试构建我的项目时,它会输出:

找不到AFNetworking/AFNetworking.h文件

我的pod文件看起来像这样(还有一些依赖项,但我只列出了它的一部分):

platform :ios, '8.0'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'

target 'MyApp' do
    pod 'AFNetworking', '~> 2.6'
    pod 'BEMCheckBox'
    pod 'ActionSheetPicker-3.0', '~> 2.0.5'
    pod 'SCLAlertView'
    pod 'DZNEmptyDataSet'
    pod 'SSZipArchive'
end


target 'MyAppTests' do

end
Run Code Online (Sandbox Code Playgroud)

由于一些项目是用Objective-C编写的,我创建了一个桥接头:

#import <AFNetworking/AFNetworking.h>
#import <ActionSheetPicker_3_0/ActionSheetPicker.h>
#import <SSZipArchive/SSZipArchive.h>
#import <DZNEmptyDataSet/UIScrollView+EmptyDataSet.h>
Run Code Online (Sandbox Code Playgroud)

我明确地包含$(inherited)Header Search PathsUser Header Search paths,而Framework Search paths但错误没有消失.有人知道如何解决这个问题吗?

ios cocoapods swift bridging-header

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

更改可展开列表视图的图标

我想更改可扩展列表视图的展开和默认图标.我做了一些研究如何做到这一点并找到了这个问题.

我想我就是在那里描述的那样做的.我有2个图标,第一个叫做defaulticon.png,第二个叫expandicon.png.麻烦位于drawable文件夹中(不在drawable-hdpi中).我的列表视图声明如下所示:

<ExpandableListView
        android:id="@+id/expandableListView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:groupIndicator="@drawable/groupindicator">
    </ExpandableListView>
Run Code Online (Sandbox Code Playgroud)

groupindicator是一个xml文件,也位于drawable文件夹中,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:drawable="@drawable/defaulticon" android:state_empty="true"/>
   <item android:drawable="@drawable/expandedicon" android:state_expanded="true"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

但是图标不会改变.列表视图中的默认图标消失,而没有图标.资源是否有任何限制(资源有多大(两者都是160x160),它们必须位于哪里,......).我在运行Android 4.1.2的S3上测试应用程序.

干杯

android expandablelistview android-listview

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

即使已触发segue,ViewController也不会显示

我有一个TableViewController,我想在其导航栏中触发一个segue.我在故事板中为我的新创建了segue ViewController.但是,如果单击条形按钮项,则不会显示视图.

相反,条形按钮项变为非活动状态(灰色),应用程序冻结.没有错误消息,应用程序也没有崩溃.prepareForSegue我的方法TableViewController也被调用了

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

   print("prepare for segue called")
   print("destination view controller = \(segue.destinationViewController.description)")

}
Run Code Online (Sandbox Code Playgroud)

我做了以下事情:

  1. 为第二个屏幕创建了一个自定义视图Controller类(在我的故事板和.swift文件中).我ViewController将故事板中的相应内容分配给Identity检查器中的自定义视图控制器
  2. IBAction按钮上创建了一个click事件,并以编程方式触发了segue.结果保持不变. prepareForSegue叫做.这destionationViewController是正确的,但没有显示出来.IBAction之后我删除了它.

我的目标视图控制器看起来像这样

class EnterUserDataViewController : UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        print("EnterUserDataViewController viewDidLoad called")
    }

}
Run Code Online (Sandbox Code Playgroud)

viewDidLoad 即使已经触发了正确的segue,也永远不会被调用.

有人可以告诉我为什么会这样吗?

我的大纲. 我正在尝试从ExtraViewController创建一个segue到EnterUserDataViewController

Segue公司

uitableview uiviewcontroller ios swift swift2

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

Google Analytics Pod会安装太多依赖项

我刚刚将iOS Analytics 开发者指南中所述的Google Analytics Pod包含在内:

pod 'Google/Analytics'
Run Code Online (Sandbox Code Playgroud)

跑步时

pod install
Run Code Online (Sandbox Code Playgroud)

它安装以下依赖项:

Installing FirebaseAnalytics (3.2.0)
Installing FirebaseInstanceID (1.0.6)
Installing Google (3.0.3)
Installing GoogleAnalytics (3.14.0)
Installing GoogleInterchangeUtilities (1.2.1)
Installing GoogleSymbolUtilities (1.1.1)
Installing GoogleUtilities (1.3.1)
Run Code Online (Sandbox Code Playgroud)

由于我不使用Firebase,我想摆脱FirebaseAnalyticsFirebaseInstanceID(以及框架本身不需要的所有pod).

安装未使用的依赖项只会增加我的应用程序大小.我想只安装绝对最少量的pod来运行GoogleAnalytics.

关于如何踢出未使用的Pod的任何想法?

google-analytics google-analytics-api ios cocoapods swift

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

React 路由器:组件未在 url 搜索参数更改时更新

我有一个React使用URL search params. 根据 的值search parameter v,组件应该显示不同的内容。

一个可能的URL可能是这样的:

http://localhost:3000/hello?v=12345
Run Code Online (Sandbox Code Playgroud)

一旦 中的v query parameter更改URL,我希望我的组件更新。

http://localhost:3000/hello?v=6789
Run Code Online (Sandbox Code Playgroud)

react-router在我的 App 组件中使用 using来根据路由显示不同的组件。该App部件被包裹成一个BrowserRouter组件。

render() {
  return (
    <Switch>
      <Route path="/hello" component={Hello}></Route>
      <Route path="/" component={Home}></Route>
    </Switch>
  );
}
Run Code Online (Sandbox Code Playgroud)

如果用户单击某些内容并进行URL search param v更改,我希望组件显示不同的内容。目前,URL search param确实发生了变化,但组件不会再次呈现。有任何想法吗?

javascript reactjs react-router react-router-v4

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

即使RGB值相等,也会有不同的颜色

我在Xcode中遇到了一个非常奇怪的颜色问题.

我在视图控制器中将视图的背景设置为#1F242C:

查看控制器的视图背景

到现在为止还挺好.然后我在一个nib文件中创建一个UITableViewCell,我将背景设置为完全相同的颜色#1F242C:

表视图单元格视图背景

现在当我启动应用程序时,UITableViewCell的背景突然与viewcontroller视图的背景不同,即使RGB值匹配也是不透明度.

当我用Photoshop分析屏幕截图时

视图的背景是: #29303A

细胞的背景是: #1F242C

尽管RGB值相同,乳清是不同的颜色?我不会在源代码中以编程方式更改颜色.

以下是不同颜色的外观:

在此输入图像描述

xcode colors interface-builder uitableview ios

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

如何在UITableView中使用外部数据源

我有一个UIViewController我嵌入了一个UITableView.如果为我的ViewController类添加了一个插座.

因为我不想ViewController太重,所以我想把UITableViewDataSource协议和UITableViewDelegate协议的方法放到不同的类中.

所以我创建了一个TableViewDataSource.swift和一个TableViewDelegate类:

class TableViewDelegate : NSObject, UITableViewDelegate {
    //custom code here if required
}

class TableViewDataSource : NSObject, UITableViewDataSource {
    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

       return 1
    }
     func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

        let cellIdentifier = "MyCellIdentifier"
        let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath)

        cell.textLabel?.text = "left text"
        cell.detailTextLabel?.text = "right text"

        return …
Run Code Online (Sandbox Code Playgroud)

uitableview uiviewcontroller ios swift

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

如何在Swift中对NSProgress进行键值观察

我目前正在使用owncloud iOS SDK将文件上传到我的私有云.我正在尝试将此示例中提供的Key-Value观察机制 引入Swift.

该库迫使我将指针传递给NSProgressupload方法中的对象.然后我想做一个Key Value Observing并相应地更新我的UI.

class OwnCloudManager : NSObject {

    //Key Value observation requires the dynamic keyword
    //NSProgress must also extend from NSObject
    dynamic var progress: NSProgress = NSProgress()
    let apiURL : NSString = "https://cloud.example.com/remote.php/webdav/"
    let ocCommunication = OCCommunication()

    override init() {
      //configure ocCommunication here, set user name, password
      //and adjust ocCommunication.securityPolicy
      //...
    }
    deinit {
        //remove observer when object is destroyed
        progress.removeObserver(self, forKeyPath: "fractionCompleted")
    }

    func uploadFile(folderURL : NSURL, filename: String) …
Run Code Online (Sandbox Code Playgroud)

key-value-observing ios owncloud swift

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

无法在iOS中的Realm数据库中存储Double值

我只是想了解Realm并遇到了一个问题.我有这样的模特

class Template: Object {
    dynamic var id = NSUUID().UUIDString
    var pages = List<TemplatePage>()
}
class TemplatePage : Object {
    var xPosition: Double = 0.0
    var yPosition: Double = 0.0
}
Run Code Online (Sandbox Code Playgroud)

现在,我正在执行以下代码:

class ViewController: UIViewController {

    let realm = try! Realm()
    var templatePages = [TemplatePage]()
    override func viewDidLoad() {
        super.viewDidLoad()

        addTemplatePage(1.0, yPosition: 2.0)

        //add more template pages
        //[...]
        //when all pages have been added create a template out of it.
        addTemplate()
        getXCoordinateOfFirstTemplatePage()


    }

    //Execute this method several times depending on …
Run Code Online (Sandbox Code Playgroud)

realm ios swift realm-list

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

如何获取Swift对象的AutoreleasingUnsafeMutablePointer

我目前是我的Swift应用程序上载任务的owncloud iOS库。它是用Objective-C编写的,要求我将传递AutoreleasingUnsafeMutablePointer<NSProgress?>给上载方法

说我像这样创建一个新对象

let progress: NSProgress? = NSProgress()
Run Code Online (Sandbox Code Playgroud)

如何AutoreleasingUnsafeMutablePointer<NSProgress?>在Swift中获取此对象的?

我通过以下方式尝试了它:

var progress: NSProgress? = NSProgress()
let unsafeAutoreleasingProgressPointer = AutoreleasingUnsafeMutablePointer<NSProgress?>.init(&progress)
Run Code Online (Sandbox Code Playgroud)

但是我得到了

EXC_BAD_ACCESS(代码= 1,地址= 0x15942320)

在执行代码时。我想保留对进度对象的引用,因为我想添加一个观察者回调,该回调以百分比的形式告诉我上传进度(也在示例链接中进行了演示)。

ios owncloud swift swift2 unsafemutablepointer

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

Haskell:修剪String并消除多个空格

我刚刚开始使用Haskell进行编程,并希望进行String转换.我有一个任意的字符串,例如"abcd \n dad"我想删除左侧和右侧的空格字符.我想消除多个空格以及转义序列"\n" - >""

所以上面的字符串看起来像这个"abcd爸爸"

我已经编写了一个修剪String的函数并删除了空格字符(如果isSpace为true,我将删除该字符):

trim :: [Char] -> [Char]
trim x = dropWhileEnd isSpace (dropWhile isSpace x)
Run Code Online (Sandbox Code Playgroud)

现在我的想法是在输入String上进行模式匹配.但是如何将trim函数直接应用于输入?所以一开始我想修剪两端的String,然后应用模式匹配.因此,我唯一需要做的就是比较两个字符,如果两个字符都是空白字符,则删除一个字符

    --How do I apply trim directly to the input
    s :: [Char] -> [Char]
    s [x] = [x]
    s(x:xx) = ...
Run Code Online (Sandbox Code Playgroud)

注意:效率并不重要.我想学习模式匹配的概念,并了解Haskell的工作原理.

干杯

haskell haskell-platform

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

C代码中的分段错误

我对C完全不熟悉,我即将编写一个反转字符串的函数.我的代码看起来像这样:

char *str = "abcdef";
char *ptr;
for(ptr = str; *ptr ; ptr++);

for(; str < --ptr; str++)
{
    char c = *str;
    *str = *ptr;
    *ptr = c;

}
Run Code Online (Sandbox Code Playgroud)

我收到了分段错误错误.而且我没有看到错误(也许它太明显了).任何提示?

干杯

c segmentation-fault

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