标签: deprecated

如何弃用Xcode中的方法

我们将我们的库提供给客户,我想将一些方法标记为"已弃用",因为我们更改了它们(就像Apple在iPhone SDK中所做的那样).

我已经看到了__OSX_AVAILABLE_BUT_DEPRECATED映射到的预处理器宏__AVAILABILITY_INTERNAL,它被映射到__attribute__((deprecated))......

好吧,我对这些东西有点困惑!

有谁知道这件事?

xcode cocoa cocoa-touch objective-c deprecated

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

理解为什么在 React 类组件中不推荐使用 super()

我是 React 的新手,我正在使用最新版本的 React 学习 React 组件生命周期。我对下面部分代码的“超级”调用标有已弃用的警告。我很难理解这个,因为那里的很多文档仍然使用“超级”,而且我不确定继任者是什么,即使从反馈中链接的完整文章也是如此。有任何想法吗?谢谢。

class App extends Component {
  constructor(props) {
    super(props);
  }
}
Run Code Online (Sandbox Code Playgroud)

这是警告:

class App extends Component {
  constructor(props) {
    super(props);
  }
}
Run Code Online (Sandbox Code Playgroud)

deprecated typescript reactjs

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

不推荐使用KeyboardEvent.keyCode.这在实践中意味着什么?

根据MDN,我们绝对应该使用.keyCode属性.它已被弃用:

https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode

在W3学校,这个事实被淡化了,并且只有一个附注说明仅.keyCode提供兼容性,并且最新版本的DOM事件规范建议使用该.key属性.

问题是.key浏览器不支持,那么我们应该使用什么?有什么我想念的吗?

javascript key keycode deprecated

76
推荐指数
6
解决办法
4万
查看次数

我应该在Java中使用JavaDoc弃用还是注释?

目前,有两种方法可以将代码标记为java中的depreacted.

通过JavaDoc

/**
 * @deprecated
 */
Run Code Online (Sandbox Code Playgroud)

或者作为注释:

@Deprecated
Run Code Online (Sandbox Code Playgroud)

这是我的问题 - 当使用Eclipse将方法标记为已弃用时,我发现声明两者都有点太多了.我真的只想用其中一个.

但是,使用注释会给编译器提供实际有用的附加信息吗?

但是只使用注释,我无法说明为什么该方法被弃用 - 我只能用JavaDoc做到这一点,并且弃用方法而不指出为什么不好.

那么,我可以只使用其中一个吗?或者我应该真的学会指定两者?

java annotations javadoc deprecated

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

不推荐使用setBackgroundDrawable()

所以我的sdk从15到21,当我打电话时setBackgroundDrawable(),Android Studio告诉我它已被弃用.

我想过用它来绕过它:

int sdk = android.os.Build.VERSION.SDK_INT;

if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
    layout.setBackgroundDrawable(getResources().getDrawable(R.drawable.img_wstat_tstorm));
} else {
    layout.setBackground(getResources().getDrawable(R.drawable.img_wstat_tstorm));
}
Run Code Online (Sandbox Code Playgroud)

但是,我在"setBackground()"收到错误.

那么,你会如何应对呢?

android deprecated deprecation-warning

74
推荐指数
6
解决办法
7万
查看次数

Android LocationServices.FusedLocationApi已弃用

我无法弄清楚为什么LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient,mLocationRequest, this);"FusedLocationApi"被淘汰并指出它已被弃用. 点击此处查看图片

import android.location.Location;
import android.location.LocationListener;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class MaintainerMapActivity extends FragmentActivity implements OnMapReadyCallback, GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener{

private GoogleMap mMap;
GoogleApiClient mGoogleApiClient;
Location mLastLocaton;
LocationRequest mLocationRequest;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maintainer_map2);
    // Obtain the SupportMapFragment and get notified when the map is ready to be used.
    SupportMapFragment …
Run Code Online (Sandbox Code Playgroud)

java android deprecated android-fusedlocation

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

OnGlobalLayoutListener:弃用和兼容性

我必须使用一个OnGlobalLayoutListener对象,然后删除监听器,我有一个问题与我用以下代码解决的弃用方法.

protected void onCreate(Bundle savedInstanceState) {
    final LinearLayout llTotal = (LinearLayout) findViewById(R.id.mmc_ll);
    ViewTreeObserver vto = llTotal.getViewTreeObserver();
    if(vto.isAlive()){
        vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                //
                // mycode
                //
                if (Build.VERSION.SDK_INT<16) {
                    removeLayoutListenerPre16(llTotal.getViewTreeObserver(),this);
                } else {
                    removeLayoutListenerPost16(llTotal.getViewTreeObserver(), this);
                }
            } 
        });
    }
    super.onCreate(savedInstanceState);
}

@SuppressWarnings("deprecation")
private void removeLayoutListenerPre16(ViewTreeObserver observer, OnGlobalLayoutListener listener){
    observer.removeGlobalOnLayoutListener(listener);
}

@TargetApi(16)
private void removeLayoutListenerPost16(ViewTreeObserver observer, OnGlobalLayoutListener listener){
    observer.removeOnGlobalLayoutListener(listener);
}
Run Code Online (Sandbox Code Playgroud)

这是对的吗?有更好的方法来处理兼容性?

使用API​​ 10在模拟器中运行代码我在LogCat中有以下警告

04-24 09:30:12.565: I/dalvikvm(471): Could not find method android.view.ViewTreeObserver.removeOnGlobalLayoutListener, referenced from method com.my.project.ActivityHome.removeLayoutListenerPost16
04-24 …
Run Code Online (Sandbox Code Playgroud)

compatibility android deprecated

72
推荐指数
5
解决办法
4万
查看次数

fopen弃用警告

Visual Studio 2005 C++编译器上,当我的代码使用fopen和此类调用时,我收到以下警告.

1>foo.cpp(5) : warning C4996: 'fopen' was declared deprecated
1>        c:\program files\microsoft visual studio 8\vc\include\stdio.h(234) : see declaration of 'fopen'
1>        Message: 'This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
Run Code Online (Sandbox Code Playgroud)

我该如何防止这种情况?

fopen deprecated visual-c++

66
推荐指数
5
解决办法
16万
查看次数

最新GHC中弃用的DatatypeContexts:为什么?

我只是做了一些Haskell开发,并在新版本的GHC上重新编译了一些旧代码:

The Glorious Glasgow Haskell Compilation System, version 7.2.1
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到以下错误:

警告:不推荐使用-XDatatypeContexts:它被广泛认为是错误的,并且已从Haskell语言中删除.

当您拥有以下格式的代码时,会出现这种情况:

data Ord a => MyType a
    = ConstructorOne a
    = ConstructorTwo a a
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么这个功能首先被弃用,而我应该做些什么而不是实现相同或类似的功能呢?

haskell deprecated language-extension

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

在VB.NET中,我可以将函数标记为已弃用吗?

VB.NET中是否有能力弃用代码?我知道在C#中有'attributes'和java中的标签; 在VB.NET中有什么类似的东西,除了留下'todo:...?

vb.net function deprecated

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