小编Flo*_*ern的帖子

纯Swift类符合协议与静态方法 - 上传问题

鉴于我们有一个static方法的Swift协议:

protocol Creatable: class {
    static func create() -> AnyObject
}
Run Code Online (Sandbox Code Playgroud)

和一个符合协议的纯Swift类:

class Foo : Creatable {
    static func create() -> AnyObject {
        return Foo() as AnyObject
    }
}
Run Code Online (Sandbox Code Playgroud)

稍后当人们尝试通过操作类型来使用该协议时,Creatable例如:

var f : Creatable = Foo.self
f.create()
Run Code Online (Sandbox Code Playgroud)

编译器抱怨如下:

error: type 'Foo.Type' does not conform to protocol 'Creatable'
Run Code Online (Sandbox Code Playgroud)

问题是:这是一个Swift限制还是我以错误的方式使用协议和静态/类方法.

Objective-C等价物如下:

Class someClass = [Foo class];
if ([someClass conformsToProtocol:@protocol(Creatable)]) {
    [(Class <Foo>)someClass create];
}
Run Code Online (Sandbox Code Playgroud)

protocols ios swift

13
推荐指数
2
解决办法
7351
查看次数

方向更改后重复的权限请求

由于Android SDK 23允许用户拒绝应用访问某些功能,我想更新我的某个应用以请求权限,如下所述:https://developer.android.com/preview/features/runtime- permissions.html.

在其中一个活动中,我嵌入了一个SupportMapFragment.要使其工作,您需要拥有WRITE_EXTERNAL_STORAGE权限,因此我在启动活动时请求它,这会导致创建权限请求对话框.

现在的问题是,当对话框仍然打开并且我旋转设备时,活动将重新启动并打开一个新的权限请求对话框,而旧的仍然存在.结果是其中两个对话框彼此叠加,其中只有一个是有用的.

有没有办法摆脱首先启动的对话框?

android orientation-changes android-permissions android-6.0-marshmallow

13
推荐指数
2
解决办法
2631
查看次数

无法使用redux-form键入文本字段

我在使用redux-form的模态中有一个表单.我有几个文本字段,但您无法输入它们.我怀疑文本字段没有onChange从redux-form中获取事件,但我找不到任何线索我做得好.

我的代码是:

import React from 'react'
import { Button, Modal, Form, Message } from 'semantic-ui-react'
import { Field, reduxForm } from 'redux-form'

const renderField = ({ input, label, type, meta: { touched, error, warning } }) => {
  console.log(input)
  return (
  <Form.Field>
    <label>{label}</label>
    <input {...input} placeholder={label} type={type} />
    {touched && (error && <Message error>{error}</Message>)}
  </Form.Field>
)}

let AddNewModal = (props) => {
  const { handleSubmit, pristine, submitting, closeNewSite, isAddNewOpen, submit } = props

  return (
    <Modal dimmer='blurring' open={isAddNewOpen} …
Run Code Online (Sandbox Code Playgroud)

reactjs redux redux-form

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

如何在状态栏中创建没有图标的通知或只是隐藏它?

我想知道如何创建一个不在状态栏中显示图标的通知.

有一种方法可以隐藏它吗?

icons android android-notifications android-statusbar

12
推荐指数
2
解决办法
7422
查看次数

使用Android从URL获取JSON数据?

我试图通过使用用户名和密码解析登录URL来获取JSON数据.我试过使用下面的代码,但我无法得到任何答复.请帮我.

我正在使用HTTP Process和API level 23.

我需要解析我的URL并获得以下响应

{
    "response":{
                "Team":"A",
                "Name":"Sonu",
                "Class":"First",
              },
                "Result":"Good",
}
Run Code Online (Sandbox Code Playgroud)

在我的代码下面:

public class LoginActivity extends Activity {

    JSONParser jsonparser = new JSONParser();
    TextView tv;
    String ab;
    JSONObject jobj = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);

        new retrievedata().execute();

    }

    class retrievedata extends AsyncTask<String, String, String>{

        @Override
        protected String doInBackground(String... arg0) {
            // TODO Auto-generated method stub
            jobj = jsonparser.makeHttpRequest("http://myurlhere.com");

            // check your log for json response
            Log.d("Login attempt", jobj.toString());

            try {
                ab = jobj.getString("title"); …
Run Code Online (Sandbox Code Playgroud)

android json android-6.0-marshmallow

12
推荐指数
3
解决办法
10万
查看次数

应用程序加载器错误 - IOS上载

我正在尝试使用Application Loader 1.3上传二进制文件.我收到以下错误.我最近升级到了XCode 4.

com.apple.transporter.util.StreamUtil.readBytes(Ljava/IO/InputStream的;)[B

有什么想法吗?

itunesconnect app-store ios4 xcode4

10
推荐指数
3
解决办法
8198
查看次数

Watchkit页面导航中的动态页数

有没有办法在基于页面的导航中动态创建页面?在我阅读的每个示例中,页面都创建为接口控制器并在Storyboard中链接.

swift watchkit

10
推荐指数
2
解决办法
4450
查看次数

我的应用程序依赖于您的设备不支持的Google Play服务.联系制造商寻求帮助

我正在4.4.2(API 19)上创建Google Map应用程序,并添加了所有Google Play服务,Google存储库以及4.4.2(API 19)下的所有软件包.但是我收到了这个错误:

我的应用程序依赖于您的设备不支持的Google Play服务.联系制造商寻求帮助.

android

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

已弃用的AudioManger.setStreamMute的替代方案?

AudioManger.setStreamMute现在已不符合API 23,最好使用AudioManager.adjustStreamVolumeAudioManager.ADJUST_MUTE.

我的问题是这种标志仅支持api 23,而我的应用程序是最小api 16.

还有其他方法可以使整个系统静音吗?

如果没有,为什么谷歌会弃用这种方法?

android android-audiomanager android-6.0-marshmallow

10
推荐指数
2
解决办法
6916
查看次数

禁用Android N的多窗口功能不适用于某项活动

我想禁用我的应用中的活动的多窗口支持.我resizeableActivity在Manifest中设置为false,但是当我长按最近的应用程序图标时,应用程序仍处于多窗口模式.以下是我的清单:

<activity
    android:name=".MainActivity"
    android:resizeableActivity="false"
    android:excludeFromRecents="true"
    android:icon="@drawable/ic_launcher_home"
    android:theme="@style/AppThemeV3.CustomToolbar">
</activity>
Run Code Online (Sandbox Code Playgroud)

每个文件:

android:resizeableActivity=["true" | "false"]

如果该属性设置为false,则该活动不支持多窗口模式.如果此值为false,并且用户尝试以多窗口模式启动活动,则活动将占据整个屏幕.

我还尝试在清单中的应用程序级别将此属性设置为false,但它仍然以多窗口模式启动.任何关于我做错的指针都会受到高度赞赏吗?

android multi-window android-7.0-nougat

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