小编kin*_*nza的帖子

iOS 中能源影响的安全值

我已经创建了一个 iOS 应用程序,它的第一阶段即将完成。应用程序的基本流程是用户可以添加他的报价。其他用户可以通过预订来享受此优惠。优惠数量不断增加/更新,因此应用程序中的所有数据都是从服务器加载的。\n现在在调试导航器中,所有值或多或少都在安全区域(绿色区域)内,如下所示:

\n\n

在此输入图像描述

\n\n

但能源影响是:

\n\n

在此输入图像描述\n这是应用程序请求服务器加载列表中的项目时的时间。现在我的问题是:

\n\n
    \n
  1. 能量影响到底是什么?(搜索但找不到任何可以正确理解的内容)
  2. \n
  3. 其高价值的可能原因是什么?
  4. \n
  5. 它的安全价值是多少?我需要尝试降低它吗?
  6. \n
  7. 如果是,那么我可以采取什么方法来降低它?
  8. \n
\n\n

此外,即使用户没有与应用程序交互,能源影响也是(不完全为零):

\n\n

在此输入图像描述

\n\n

而根据苹果文档:

\n\n
\n

当用户\xe2\x80\x99t 与您的应用交互时,不应产生\n 能源影响。

\n
\n\n

任何帮助将不胜感激,因为我是 iOS 新手。

\n

memory-management energy ios

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

Socket.io swift 客户端自动断开连接

我在我的应用程序中使用 socket.io swift 客户端(版本 13.1.0)一切正常,但有时会发生这种情况:套接字断开连接(10 次中有 3 次)。断开连接后,它尝试并成功连接,但此后再次断开连接,这形成了连接-断开状态的无限循环。我被搜索但没有得到任何可能的解决方案。我的代码很简单。我创建了一个单例类,其代码如下:

class SocketIOManager: NSObject {


    static let sharedInstance = SocketIOManager()
    let manager = SocketManager(socketURL: URL(string: "URL")!, config: [.compress, .log(true), .reconnects(false)])

    override init() {
       super.init()
       let socket = manager.defaultSocket

        socket.on("connect") {data, ack in
           NSLog("*************** SOCKET CONNECTED")
        }
    }

    func establishConnection() {
       let socket = manager.defaultSocket
       socket.connect()
    }
}
Run Code Online (Sandbox Code Playgroud)

除此之外,当应用程序进入后台时,我优雅地断开套接字,然后在应用程序进入前台时再次连接它。

我尝试过的事情:

  • 尝试配置参数:forceNew(true/false)、reconnects(true/false)、forceWebsockets(true/false)
  • 为了保持连接处于活动状态,我每 10 秒向服务器发送一个空参数,以便它知道应用程序处于活动状态。

我的观察: 我在同一个项目中使用 Alamofire,它在后台线程中发送请求。可能在某个时间点两个库都开始使用相同的后台线程和套接字连接中断。

这可能吗?如果我的理解有误,请纠正我。我应该怎么做才能克服这个套接字断开连接的问题。我是 iOS 的新手,所以任何帮助将不胜感激。

multithreading ios socket.io swift

5
推荐指数
0
解决办法
1560
查看次数

打开/关闭导航抽屉在本机反应中不起作用

在我的本机应用程序中,我使用 Drawer Navigator 创建了一个侧边菜单,当我通过滑动打开它时,它运行良好。但我想做的是点击按钮打开它。目前正在尝试做槽式导航道具,相关代码如下:

import { withNavigation } from 'react-navigation';

class HallsList extends React.Component {
  constructor(props){
    super(props);
    this.state = {
      isSideMenuOpen: false
    };
  } 

  renderTopView = () => {
      return(
        <View>
          <View style = {Styles.sideMenuButton}>
            <Button
              onPress = {()=> {
                if (this.state.isSideMenuOpen) {
                  {this.props.navigation.navigate('DrawerOpen')}
                }
                else {
                  {this.props.navigation.navigate('DrawerClose')}
                }
                this.setState({isSideMenuOpen: !this.state.isSideMenuOpen})
              }
            }
            title = {'Side Menu'}
            />
          </View> ..... 


export default withNavigation(HallsList);
Run Code Online (Sandbox Code Playgroud)

但是当我点击侧面菜单按钮时,它会被点击但之后没有任何反应。

react-native react-navigation side-menu react-navigation-drawer

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

在Swift中,我可以检测CLLocation是否有效吗?

我正在将一个位置传递给另一个UIViewControllerMapView使用的位置prepareForSegue.我叫这个receivedLocation.地图以传递的位置为中心.如果用户单击某个按钮将其带到地图而不先发送位置,这不会失败吗?

如何测试是否receivedLocation实际包含数据,以便我可以将地图设置为以其他内容为中心(如果它是空的)?

是否会创建一个布尔变量,并且最初将其设置为false,但在传递位置并按照我的意愿测试工作时将其设置为true ?

我看到有一些叫做CLLocationCoordinateIsValid可用的东西,但它的参数是2DCoordinate,我遇到了同样的测试问题receivedLocation.

我对此很新,并试图寻找答案,但找不到合适的答案.谢谢!

import UIKit
import MapKit
import CoreLocation

class mapViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {

    @IBOutlet var map: MKMapView!
    @IBOutlet var notes: UITextView!

    var receivedLocation = CLLocation()
    var annotation = MKPointAnnotation()
    var currentManager:CLLocationManager!

    var latitute:CLLocationDegrees = CLLocationDegrees()
    var longitude:CLLocationDegrees = CLLocationDegrees()

    override func viewDidLoad() {
        super.viewDidLoad()

        map.layer.cornerRadius = 12.0
        notes.layer.cornerRadius = 12.0

        currentManager = CLLocationManager()
        currentManager.delegate = self
        currentManager.desiredAccuracy = kCLLocationAccuracyBest …
Run Code Online (Sandbox Code Playgroud)

core-location mapkit ios swift

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

在方向更改为自动布局中的横向时隐藏视图

我正在创建一个示例应用程序,我在其中复制Facebook屏幕以练习自动布局.当我以纵向模式运行登录屏幕时,它看起来很完美.

问题是,一旦方向更改为横向,所有视图都会因标题图像而崩溃,如此处所示

我想要的是,在横向模式下,标题图像消失,以便其他视图获得其空间.我不想使用scrollview.

我试过这个:

headerImageView.isHidden = true
Run Code Online (Sandbox Code Playgroud)

但结果却出现了这种情况 .图像视图消失了,但没有留下它的空间.谁能建议我一个好的解决方案?

因为我的声誉,对不起这些图像.

ios swift ios-autolayout

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

同时多次调用 Alamofire、Swift 中的 API

我的应用程序中有一个表格视图,如下所示:

在此输入图像描述

我需要的是,当用户点击心脏图像时,请求会发送到服务器以更改该表视图项的状态,并且响应(成功或错误)应该返回。这是点击时调用的代码:

var manager = Alamofire.SessionManager.default
manager = Alamofire.SessionManager(configuration: configuration)
manager.request(######, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers).responseJSON(completionHandler: { response in

                switch response.result {
                case .success:
                    print(response)

                    let responseJson = JSON(response.result.value!)

                    // parsing JSON response using swiftyJSON
                    let code = (responseJson["code"]).int
                    let successStatus = responseJson["success"]
                    let message = (responseJson["message"]).rawString()

                    if ((code == 200) && (successStatus == true))
                    {
                        success()
                    }
                    else if (successStatus == false)
                    {
                        let errorObj = CError()
                        if ((code == 401) || (code == 404) || …
Run Code Online (Sandbox Code Playgroud)

asynchronous ios swift alamofire

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