小编And*_*eem的帖子

如何在FirebaseMessagingService中获取上下文?

我有一个应用程序,它使用FCM发送和接收消息。我已经按照文档中的建议实施了所有操作。

现在,要生成令牌,我想将其保存到共享首选项中。但这给了错误。

考虑类的名字像

public class MyFirebaseMsgAndTokenService extends FirebaseMessagingService {

private static final String TAG = "C_MyFirebaseIIDService";

@Override
public void onNewToken(String newToken) {
    super.onNewToken(newToken);
    Log.d(TAG, "Refreshed token: " + newToken);
    CustomSharedPreferences customSharedPreferences = new CustomSharedPreferences(this); // giving error on this
    String oldToken = customSharedPreferences.getStringData(FCM_GENERATED_TOKEN);
    sendRegistrationToServer(newToken,oldToken);
}

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    super.onMessageReceived(remoteMessage);
    Log.d(TAG, "From: " + remoteMessage.getFrom());

    try {

    } catch (Exception e) {

    }
}}
Run Code Online (Sandbox Code Playgroud)

我真的很想在此服务中将令牌保存到我的应用程序中。请告诉我为什么我无法获得参考/上下文?

更新:我的CustomSharedPrefernces是一个将数据保存到sharedPrefernces中的类

public class CustomSharedPreferences {

public static final String FCM_GENERATED_TOKEN = "FCM_GENERATED_TOKEN";


private …
Run Code Online (Sandbox Code Playgroud)

android android-activity

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

将现有项目转换为可定制的框架

我是一名 android 开发人员,我需要创建和 IOS 应用程序。所以我做了,应用程序现在准备好了。但现在我想把它变成一个库/框架。我的意思是每个客户端将在不同的项目中使用相同的代码库,他们将能够更改应用程序的文本字符串和颜色。其余的业务逻辑将保持不变。

所以我有两个主要问题:

  • 如何将项目转换为框架?我是否需要在别处创建一个单独的框架,然后将项目作为 Coca touch 框架导入其中?我对吗??
  • 如何使其可定制?我从可定制的意思是简单的两件事。
    • 1) 视图的颜色。我有两个观点。我想要一个单独的颜色文件,以便我可以更改其中的颜色并反映整个应用程序的更改
    • 2)字符串。我想更改文本字符串,以便它可以在所有项目中更改。

请告诉我如何实现这些目标。特别是第二点是我主要关心的问题。

注意:我想在框架中转换的项目有两个很多viewController,并且都内置在一个storyboard中。

xcode ios swift xcode9.4

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

在NSPredicate中解析UUID

我正在尝试从Realm数据库获取数据。我正在使用NSPredicate。而且运作良好。但是今天,我必须从具有字符串ID的对象中获取数据。此ID在UUID中。因此,无论何时我尝试使用UUID(字符串ID)获取值,都会给我这样的错误

无法解析格式字符串“ Id == BD1698EE-C57D-4B8D-9D54-1D4403B2136F”'

这是错误声明。而我在代码中有以下几行。

let resultPredicateShoppingListDetail = NSPredicate(format: "Id == \(shoppingListModel.Id)")
Run Code Online (Sandbox Code Playgroud)

这对我来说没有意义。为什么会这样呢?

iphone realm ios swift

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

Swift 4比较日期

比较Swift中的日期非常简单,很容易理解.例如,它可以用单行写入

if date1 > date2
Run Code Online (Sandbox Code Playgroud)

但我想要检查Date1是否恰好是3年或(X)年小于或大于Date2.

如何使用swift完成?

ios swift

0
推荐指数
2
解决办法
7167
查看次数

领域列表属性不保存数据

我有两个模型,我们称它们为学校和教师。模型如下

@objcMembers public class Schools : Object {


dynamic var   Id : String = ""
dynamic var   UserId : Int64 = 0
dynamic var   Name : String? = ""
dynamic var   listTeachers : List<Teachers>? =  nil
dynamic var   teachersList : [Teachers]? =  []
   }



@objcMembers public class Teachers : Object {


dynamic var   Id : String = ""
dynamic var   UserId : Int64 = 0
dynamic var   Name : String? = ""


   }
Run Code Online (Sandbox Code Playgroud)

现在在保存数据之前,我将教师对象(列表)放在 School 对象中,然后我将该 School 对象保存在领域写闭包中。

之后我只得到 School …

iphone realm ios swift realm-list

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

检查数组是否为零

我有一个自定义模型的数组,我想检查它是否为零,其大小大于0.

以下是我的自定义对象数组

var listCountries : [Countries]? = nil

现在在viewDIdLoad中我想对它进行检查.我是Swift的新手.我有很好的Java工作经验.

我已经读出了可选值概念和保护,如果让语句.但我无法理解它们的使用效率.我读了太多SO问题,但未能弄明白.

例如,如果我想检查java中的上部给定数组,我只需要这样做

if(listCountries != null && listCountries.size()>0){
    //DO something 
}
Run Code Online (Sandbox Code Playgroud)

总结一下我的问题:

  1. 如何使上层给定(Java代码)签入swift 4.?什么是更顺畅和可靠的方式.
  2. 如果let,guard,guard let语句有什么用呢?如果我声明一个变量(数组,字符串)作为可选项,我必须承担可选的检查,如强制包装每个地方.这对我来说太混乱了.

请帮忙.我知道这个问题有不同的问题.但这有一些不同的背景.

arrays ios swift

-2
推荐指数
2
解决办法
101
查看次数

标签 统计

ios ×5

swift ×5

iphone ×2

realm ×2

android ×1

android-activity ×1

arrays ×1

realm-list ×1

xcode ×1

xcode9.4 ×1